A web application for packaging files using Microsoft's Win32 Content Prep Tool (IntuneWinAppUtil.exe) for Intune deployment. Upload your application files, and the tool will package them into the .intunewin format with a download link valid for 7 days.
- 🎯 Drag & Drop File Upload - Easy file upload with drag-and-drop support
- 📦 Batch Processing - Package multiple files at once
- ⏱️ Real-time Progress - Visual progress tracking during packaging
- 🔗 Temporary Download Links - Secure download links that expire after 24 hours
- 🧹 Automatic Cleanup - Expired packages are automatically removed
- 💾 File Management - Preview and manage uploaded files before packaging
- 🎨 Modern UI - Clean, responsive interface with smooth animations
- Node.js (v14.0.0 or higher)
- npm (comes with Node.js)
- Windows OS (for IntuneWinAppUtil.exe)
- Microsoft Win32 Content Prep Tool
-
Clone or download this repository
git clone <repository-url> cd win32-content-packager
-
Install dependencies
npm install
-
Download the Win32 Content Prep Tool
- Download
IntuneWinAppUtil.exefrom Microsoft's GitHub - Place
IntuneWinAppUtil.exein the root directory of the project (same folder asserver.js)
- Download
-
Create required directories The application will automatically create these directories on first run:
public/- Frontend filestemp_uploads/- Temporary upload storagepackages/- Packaged files storage
-
Move the frontend file
- Save the HTML file as
public/index.html
- Save the HTML file as
win32-content-packager/
├── server.js # Backend server
├── package.json # Node.js dependencies
├── IntuneWinAppUtil.exe # Win32 Content Prep Tool (you need to add this)
├── packages_db.json # Package metadata (auto-created)
├── public/
│ └── index.html # Frontend application
├── packages/ # Stored packages (auto-created)
└── temp_uploads/ # Temporary uploads (auto-created)
-
Start the server
npm start
For development with auto-reload:
npm run dev
-
Access the application Open your browser and navigate to:
http://localhost:3000 -
Package your files
- Drag and drop files or click to browse
- Review uploaded files
- Click "Package Files"
- Wait for processing to complete
- Download your packaged .intunewin file
You can configure the following environment variables:
PORT- Server port (default: 3000)
Example:
PORT=8080 npm startDefault limits (can be modified in server.js):
- Maximum file size: 500MB per file
- Maximum files per upload: 50 files
Upload and package files
- Body: Multipart form data with files
- Response: JSON with download URL and package ID
Download a packaged file
- Parameters: Package ID
- Response: .intunewin file download
Get package information
- Parameters: Package ID
- Response: JSON with package metadata
Health check endpoint
- Response: JSON with server status
If IntuneWinAppUtil.exe is not found, the application runs in demo mode:
- Creates mock .intunewin files
- Useful for testing the UI and workflow
- Files contain JSON metadata instead of actual packaged content
- HTTPS: Use HTTPS in production environments
- Rate Limiting: Implement rate limiting to prevent abuse
- File Size Limits: Adjust limits based on your requirements
-
"IntuneWinAppUtil.exe not found"
- Ensure the tool is in the root directory
- Check file permissions
-
"Packaging failed"
- Verify all uploaded files are accessible
- Check if there's at least one .exe file
- Review server logs for detailed error messages
-
"Download link expired"
- Package links expire after 24 hours
- Re-upload and package files
The server logs important events to the console:
- Package creation
- Download requests
- Cleanup operations
- Errors and warnings
-
Database Integration Replace the JSON file database with:
- PostgreSQL
- MongoDB
- SQLite
-
Cloud Storage Store packages in:
- AWS S3
- Azure Blob Storage
- Google Cloud Storage
-
Authentication Add user authentication:
- JWT tokens
- OAuth integration
- Active Directory
MIT License - feel free to use this project for personal or commercial purposes.
For issues and questions:
- Check the troubleshooting section
- Review server logs
- Create an issue in the repository
- Microsoft for the Win32 Content Prep Tool
- The Intune community for deployment best practices
