MicaSetup is a universal advanced installation package generation tool project that supports various features and allows customization of the full entire installation process.
The programs using MicaSetup.
babalae/better-wuthering-waves
Features | Completion | Addition |
---|---|---|
Mica Backdrop | ☑ | Support Windows11 Mica Backdrop. |
Theme | ☑ | Support Dark and Light theme. |
Archive File | ☑ | Pack your app with 7z.exe , so it's easy to customize your archive file or not. |
Animations | ☑ | Support a lot of advanced animations. Such as Indeterminate ProgressBar, supported when your installation is no progress hint. |
HiDPI | ☑ | Support to process DPI awareness. |
Firewall | ☑ | Support allows your app to access the Network through Windows Firewall Policy. |
Anti Unpacking | ☑ | Support encryption type archive file package. Needs create your app archive file with password firstly. Also can sign your setup program by .snk . |
.NET SDKs Installer | 🔲 | Auto detect and install the .NET/.NET Core/.NET Framework Runtime. Download .NET SDKs for Visual Studio |
MSIX Installer | 🔲 | Using MSIX package instead of archive file. Provide the function the same as following command. certmgr.exe -add app.cer -s -r localMachine AuthRoot . |
Online Installer | 🔲 | Using Network instead of archive file. |
Features | Completion | Addition |
---|---|---|
Host Builder | ☑ | Support a simple HostBuilder for handling setup configs. |
Debugger | ☑ | Unlike other installation architectures, too difficult to debug. Support using VS2022 (or higher) to debug codes. |
WindowChrome | ☑ | Support WindowChrome to keep native window style instead of borderless style. |
Shortcut | ☑ | Support to create your app shortcut (.lnk ). |
Fork Process | ☑ | Support setup process forked itself to avoid the file lock. |
Folder Picker | ☑ | Support advanced Folder Picker by WindowsAPICodePack-Shell . |
Globalization | ☑ | Support English, Chinese and Japanese nowaday. Support other languages customized by yourself. |
Registry | ☑ | Support x86/x64 registry. |
Create StartMenu | ☑ | Support to create Start Menu in system folder. |
Create QuickLaunch | ☑ | Support to create Quick Launch shortcut (.lnk ).Quick Launch has been obsoleted since Windows 10. |
Create Uninst | ☑ | Support to create Uninst.exe for system uninstallation. |
Delay Uninst | ☑ | Support to delete file delay until reboot. Useful for handling when uninst files fails. |
Auto Run | ☑ | Support to make your installed app auto run. |
Security Control | ☑ | Support to make your installed path Allow Full File Security. |
Install Font | 🔲 | Support to install your fonts into system. |
Install Silent | 🔲 | Support silent installation using CLI /q .Useful for auto updating in the background. |
Install Automate | 🔲 | Support no interactive installation using CLI /a .Useful for auto updating in the foreground. |
Controls | Completion | Addition |
---|---|---|
WindowX | ☑ | Support Mica Backdrop. Support WindowChrome. |
SetupProgressBar | ☑ | Support Indeterminate Animation. |
MessageBoxX | ☑ | Simple MessageBox instead of Classics. |
SmoothScrollViewer | ☑ | Support smoothly scrolling. |
Toolkits | Completion | Addition |
---|---|---|
Icon Creator | ☑ | Creating the universal Squircle like icon. More infomation. |
Trim Font | ☑ | Only MicaSetup v1 needed. More infomation. |
🚧Under construction🚧
Run the setup_dummy.cmd
for creating some dummy things used in project.
Such as publish.7z
as your app published package and full size font used in Setup programs.
And then Run VS2022 (or higher) as Admin to open the sln.
Run the setup_build.cmd
for building the full Setup programs.
Command Flow:
- Build my app, named
MicaApp
usingdotnet publish
. - Pack my app using
7z.exe
. - Build Uninst, named
Uninst.exe
usingmsbuild
. - Build Setup, named
MicaSetup.exe
usingmsbuild
.
🈺Welcome PRs, issuses, wikis, demos.
Including follow components.
This software codes are licensed under the MIT License.