WimPatcher is a tool for creating custom Windows ISO images with pre-installed programs. It automates the process of patching a Windows installation image (WIM) file with additional drivers, updates, configuration, and software. With WimPatcher, you can create a pre-configured Windows installation media that includes all the software you need.
To use WimPatcher, you'll need to have Python 3.11 or later installed on your system. You can download Python from the official website.
Once you have Python installed, you can install the required dependencies by running the following command in a terminal:
pip install -r requirements.txt
To use WimPatcher, you'll need to provide a Windows ISO file, which can be obtained by running CreateISO.bat
You can create a configuration file by copying and editing the config.example.toml
file. The configuration file is a TOML file that lists the software and drivers you want to include in the custom image. If you don't provide a configuration file as parameter, WimPatcher will look for a file named config.toml
in the current directory.
To create a patched ISO file, run the following command:
python wimpatcher.py [--config /path/to/config.toml] --output "/path/to/windows_patched.iso"
This will create a new ISO file at /path/to/windows_patched.iso
that includes all the software and drivers listed in the configuration file.
To flash the custom image onto a USB drive, run the following command:
python wimpatcher.py [--config /path/to/config.toml] --usb "E:"
This will flash the custom image onto the USB drive located at "E:". Warning: This will erase all data on the USB drive.
To list available Windows editions in an ISO or WIM file, run the following command:
python wimpatcher.py --list-editions "/path/to/windows.iso"
This will display a list of available Windows editions in the specified ISO or WIM file.
- None yet
- Accept command-line arguments
- output ISO file
- output USB drive
- Input config file
- List available windows editions
- List available windows features
- List available windows updates
- Create a layout for the configuration file
- Use said configuration file
- More descriptive errors
- Error on match in subprocess stdout
- Unmount/Mount
- ISO files
- WIM files
- Add support to
with
statements for mounting/unmounting
- Save to ISO or USB key
- Apply modifications to the WIM file
- Add support for installing drivers
- Add support for installing updates
- Add support for installing apps
- Add support for uninstalling default apps by package name
- Add support for enabling Windows Features
- Add support for changing Windows Settings
- Add more tweakable settings in the config toml file
- Add support for generic software installation
- Add support for the following software:
- Dev tools
- Git
- Python
- Rust
- NodeJS
- Lua
- HxD
- AndroidStudio
- Visual Studio Code
- Visual Studio 2022 Community
- Power user software
- 7zip
- WinSCP
- WinDirStat
- CheatEngine
- qBittorrent
- AutoHotKey
- HWiNFO
- User Software
- LibreOffice
- ShareX
- VideoLAN
- Firefox
- Google Drive
- Discord
- Discord Canary
- Dolphin Emulator
- Steam
- Krita
- Dev tools
- Once this is all done: Investigate answer files for extra functionality such as skipping the OOBE and pre-defining settings such as the refreshrate, computer name, etc.
- Perhaps let the user provide one, or let the user pick settings in the TOML and generate one for him?
Contributions to WimPatcher are welcome! If you find a bug or want to suggest an improvement, please open an issue or submit a pull request.
WimPatcher is licensed under the GPLv3 License. See the LICENSE file for more information.