UniLabSetup 2026 is a high-performance, open-source automation engine engineered specifically for university computer laboratories, engineering departments, and academic IT staff. Powered by native PowerShell and a compiled-in Fluent Dark WPF interface, it automates workstation software provisioning with zero external runtimes, dependencies, or pre-installation steps.
Deploy directly on any target Windows lab workstation via an elevated PowerShell prompt:
irm https://raw.githubusercontent.com/0xf9o/UniLabSetup/main/run.ps1 | iex(Standard WebClient invocation):
iwr -useb https://raw.githubusercontent.com/0xf9o/UniLabSetup/main/run.ps1 | iex- Automatic UAC Elevation: Detects session privilege levels on startup and automatically relaunches itself in an elevated Administrator context with process-scoped execution policy bypass.
- Fluent Dark WPF Interface: Designed with a sleek, modern Windows 11 Fluent dark palette (
#0B0E14/#141824) using nativePresentationFramework— completely self-contained with no Electron or Node.js overhead. - Live Search & Instant Filtering: Real-time search box allows lab technicians to instantly find and filter packages across all categories simultaneously.
- 1-Click Lab Presets (Profiles): Pre-configured deployment profiles designed for specific university computer labs:
- CS & Software Lab: IDEs, JDK, Python, Node.js, Git, VS Code, MySQL, Docker, and Postman.
- EE & Electronics Lab: SPICE simulation, Electric VLSI, Microchip XC32, Cypress PSoC, Multisim, and LabVIEW.
- Full Campus Lab: Provisions all 20 packages in a single unattended batch.
- Pre-Flight Diagnostics Banner: Automatically verifies system health prior to installation, including free storage space on
C:\, internet connectivity, Winget package manager readiness, and PowerShell runtime environment. - Multi-Source Smart Orchestration:
- Silent Winget Engine: Unattended package deployment with automatic agreement acceptance (
--accept-package-agreements --accept-source-agreements). - Direct Vendor Web Pipeline: Downloads and executes signed vendor binaries (MSI/EXE) via TLS 1.2/1.3 with automated cleanup.
- Smart
.jarInstaller & Shortcut Binding: Automates Java archive downloads (e.g., Electric VLSI) toC:\Program Files\, dynamically locatesjavaw.exe, and generates both User & Public All-Users Desktop shortcuts (javaw.exe -jar) and Start Menu links. - Academic License Guard: Intercepts proprietary university software (MATLAB, Multisim, LabVIEW, PSoC) and displays actionable guidance for department volume license servers (VLM/NLM) and installation media instead of throwing execution errors.
- Silent Winget Engine: Unattended package deployment with automatic agreement acceptance (
- Real-Time Non-Blocking Dispatcher: Streams live log lines, step counters, and progress meters smoothly without interface freezing using native
[System.Windows.Forms.Application]::DoEvents(). - Audit Logging & System Safety:
- Optional Windows System Restore Point creation prior to deployment.
- 1-click Export Log to Desktop for lab audit trails and compliance records.
- Optional automatic post-deployment lab summary generation.
| Category | Package Name | Distribution Method | Package Identifier / Source | Target Academic Department | Provisioning Mode |
|---|---|---|---|---|---|
| Hardware & Engineering | LTSpice | Winget | AnalogDevices.LTspice |
Electrical & Electronic Engineering | Unattended Silent |
| Hardware & Engineering | PSOC Creator 4.4 | Manual / IT Guard | Infineon Developer Portal | Embedded Systems / Robotics | Academic Media |
| Hardware & Engineering | PSOC CY8CKIT-059 | Manual / IT Guard | Infineon Support Share | Embedded Systems / Microcontrollers | Academic Media |
| Hardware & Engineering | Electric VLSI 9.08 | Smart .jar Engine |
staticfreesoft.com |
Microelectronics & VLSI Design | Auto-Configured .jar |
| Hardware & Engineering | NI Multisim 12 | Manual / IT Guard | CSE Department DVD / ISO | Circuit Design & Analysis | Volume License (VLM) |
| Hardware & Engineering | NI LabVIEW + SigEx + myRIO | Manual / IT Guard | National Instruments Share | Instrumentation & Control Systems | Campus License Server |
| Hardware & Engineering | MATLAB | Manual / IT Guard | MathWorks Campus License | Applied Mathematics & Engineering | Network License (NLM) |
| Hardware & Engineering | Microchip XC32 Compiler | Direct Web / Archive | Microchip Archives | Computer Engineering / Embedded | Silent / Archive |
| CS & IDEs | Java JDK 26 (x64) | Winget / Direct | Oracle.JDK / Adoptium |
Computer Science & Software Eng. | Unattended Silent |
| CS & IDEs | Java3D 1.5.1 | Direct Web Pipeline | download.java.net |
Computer Graphics & Simulation | Direct Silent (/s) |
| CS & IDEs | Code::Blocks 25.03 MinGW | Winget | Codeblocks.Codeblocks |
Programming Fundamentals (C/C++) | Unattended Silent |
| CS & IDEs | Eclipse IDE for Java | Winget | EclipseFoundation.EclipseJava |
Object-Oriented Programming | Unattended Silent |
| CS & IDEs | Oracle MySQL Server | Winget | Oracle.MySQL |
Database Systems & Big Data | Unattended Silent |
| CS & IDEs | MySQL Workbench | Winget | Oracle.MySQLWorkbench |
Database Administration & Modeling | Unattended Silent |
| Developer Tools | Visual Studio Code | Winget | Microsoft.VisualStudioCode |
General Development & Web Dev | Unattended Silent |
| Developer Tools | Git for Windows | Winget | Git.Git |
Software Engineering & Versioning | Unattended Silent |
| Developer Tools | Python 3.12 | Winget | Python.Python.3.12 |
Data Science & Artificial Intelligence | Unattended Silent |
| Developer Tools | Node.js LTS | Winget | OpenJS.NodeJS.LTS |
Web & Full-Stack Development | Unattended Silent |
| Developer Tools | Docker Desktop | Winget | Docker.DockerDesktop |
Cloud Computing & DevOps | Unattended Silent |
| Developer Tools | Postman | Winget | Postman.Postman |
Distributed Systems & API Testing | Unattended Silent |
flowchart TD
A[run.ps1 Invocation] --> B{Administrator Rights?}
B -- No --> C[Relaunch via Start-Process -Verb RunAs]
C --> D[Elevated Administrator Context]
B -- Yes --> D
D --> E[Set ExecutionPolicy Bypass & Load WPF Assemblies]
E --> F[Run Pre-Flight Diagnostics: Storage, Winget, Network]
F --> G[Render Fluent Dark WPF GUI]
G --> H{Technician Action}
H -->|Search / Filter| G
H -->|Select Preset Profile| G
H -->|Click Start Deployment| I[Initialize Deployment Queue]
I --> J{Optional System Restore Point}
J --> K[Sequential Task Dispatcher]
K --> L1[Winget Engine: VS Code, Git, Python, MySQL, etc.]
K --> L2[Direct Web Engine: Java3D, XC32, Vendor Installers]
K --> L3[Smart .JAR Handler: Electric VLSI + Desktop Shortcuts]
K --> L4[Academic License Guard: MATLAB, Multisim, LabVIEW]
L1 --> M[Real-time Non-blocking UI Log & Progress Stream]
L2 --> M
L3 --> M
L4 --> M
M --> N[Deployment Complete & Generate Desktop Audit Report]
Open PowerShell as Administrator on the target computer and run:
irm https://raw.githubusercontent.com/0xf9o/UniLabSetup/main/run.ps1 | iex- Download or clone the repository to a deployment USB drive or central network share:
git clone https://github.com/0xf9o/UniLabSetup.git cd UniLabSetup
- Right-click
run.ps1and select Run with PowerShell, or execute from an elevated console:.\run.ps1
UniLabSetup can be executed across an entire computer lab via Active Directory Group Policy (Startup Script) or Microsoft Intune:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "\\campus-share\deploy\UniLabSetup\run.ps1"- Operating System: Windows 10 (version 1809 or higher), Windows 11, or Windows Server 2019/2022/2025.
- PowerShell Version: Windows PowerShell 5.1 or PowerShell Core 7.0+.
- Privileges: Local Administrator privileges (auto-elevates via UAC prompt).
- Network: Internet connection for Winget repositories and vendor download mirrors.
UniLabSetup/
├── assets/
│ └── logo.svg # Vector brand identity asset
├── .gitignore # Windows & PowerShell exclusions
├── LICENSE # MIT License
├── README.md # Complete academic documentation
└── run.ps1 # Core PowerShell WPF deployment engine
We welcome contributions from university systems engineers, lab technicians, and faculty:
- Fork the repository (
git fork). - Create a feature branch (
git checkout -b feature/NewPackage). - Commit your changes (
git commit -m 'feat: add package definition'). - Push to your branch (
git push origin feature/NewPackage). - Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for complete details.
