Automate Windows app installation. Select apps, download a PowerShell script, and install everything with one command.
Live at: NixInstall.com
- 🎯 30+ popular Windows apps pre-configured
- 📊 Browse apps by category
- 🔍 Search functionality
- 💾 Download custom PowerShell installation scripts
- 🎨 Clean, modern UI
- 🌐 Browser-compatible
- 🔒 Admin privilege checking in generated scripts
installer-mvp/
├── backend/
│ ├── server.js # Express server
│ ├── apps.json # App configurations
│ └── package.json
└── frontend/
├── public/
│ └── index.html # HTML template
├── src/
│ ├── App.js # Main React component
│ ├── App.css # Styling
│ ├── index.js # React entry point
│ └── index.css # Base CSS
└── package.json
- Node.js (v14+)
- npm or yarn
- Windows (for testing installation scripts)
cd backend
npm install
npm startThe server will start on http://localhost:5000
In a new terminal:
cd frontend
npm install
npm startThe React app will open on http://localhost:3000
cd frontend
npm run buildThis creates an optimized production build in the frontend/build directory.
# Install Heroku CLI and login
heroku login
# Create a new app
heroku create your-app-name
# Deploy
git push heroku mainUpdate your Procfile:
web: cd backend && npm start
Frontend to Vercel:
npm install -g vercel
cd frontend
vercelBackend to Railway, Render, or similar:
- Push backend folder to Git
- Connect to your hosting service
- Set environment variables (if needed)
Create a Dockerfile in the root directory:
FROM node:18-alpine
WORKDIR /app
# Install backend dependencies
COPY backend/package*.json ./backend/
RUN cd backend && npm ci --only=production
# Build frontend
COPY frontend/package*.json ./frontend/
COPY frontend ./frontend
RUN cd frontend && npm ci && npm run build
# Copy backend
COPY backend ./backend
EXPOSE 5000
CMD ["node", "backend/server.js"]Build and run:
docker build -t app-installer .
docker run -p 5000:5000 app-installerFor production, set:
NODE_ENV=production
PORT=5000Edit backend/apps.json:
{
"id": "app-id",
"name": "App Name",
"category": "Category Name",
"url": "https://download-url.com/installer.exe",
"type": "exe",
"args": "/silent /install"
}Supported types:
exe- Windows executablemsi- Windows installerzip- ZIP archive (will be extracted)
The generated installation script:
- ✅ Checks for administrator privileges
- ✅ Creates a timestamped download directory
- ✅ Downloads all selected apps
- ✅ Executes installers with appropriate arguments
- ✅ Provides detailed progress information
- ✅ Handles errors gracefully
- ✅ Preserves downloaded files for reference
# Right-click PowerShell → "Run as Administrator"
# Navigate to the script location
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
.\install-apps.ps1- Chrome/Chromium (v90+)
- Firefox (v88+)
- Safari (v14+)
- Edge (v90+)
Returns all available apps:
[
{
"id": "chrome",
"name": "Google Chrome",
"category": "Browser",
"url": "https://...",
"type": "exe",
"args": "..."
}
]Returns array of unique categories:
["Browser", "Developer", "Utilities", ...]Generates and downloads a PowerShell script.
Request:
{
"appIds": ["chrome", "vscode", "git"]
}Response: PowerShell script file (.ps1)
Phase 2:
- User accounts / saved profiles
- Installation history tracking
- Custom app submissions
- Installer verification (checksums)
- Speed optimization with parallel downloads
- Progress webhooks for monitoring
Phase 3:
- Admin panel for managing apps
- Analytics dashboard
- Uninstall scripts
- System configuration management
- License compliance checking
- Scripts are generated client-side initially (can be moved to backend)
- Downloaded files should be verified with checksums
- Admin privileges required for script execution (built in)
- URLs are publicly visible in the script (consider obfuscation for sensitive tools)
# Check execution policy
Get-ExecutionPolicy
# Temporarily bypass
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process- Ensure running as Administrator
- Check Windows Defender/antivirus isn't blocking downloads
- Verify internet connection
- Check individual app URLs are still active
Open source - feel free to modify and deploy
For issues or questions, open a GitHub issue or contact the maintainers.