{"id":19389006,"url":"https://github.com/lemutec/micasetup","last_synced_at":"2026-02-05T09:03:45.693Z","repository":{"id":146058257,"uuid":"610933939","full_name":"lemutec/MicaSetup","owner":"lemutec","description":"MicaSetup is a universal advanced installation package generation tool project.","archived":false,"fork":false,"pushed_at":"2025-01-12T10:12:10.000Z","size":8744,"stargazers_count":66,"open_issues_count":6,"forks_count":3,"subscribers_count":2,"default_branch":"v2","last_synced_at":"2025-04-02T22:33:08.572Z","etag":null,"topics":["inst","installer","setup","uninst","uninstaller"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lemutec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-07T19:21:43.000Z","updated_at":"2025-03-30T09:41:10.000Z","dependencies_parsed_at":"2024-07-22T10:10:12.024Z","dependency_job_id":"95bda058-067b-4b9e-9942-0c938eff95bf","html_url":"https://github.com/lemutec/MicaSetup","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemutec%2FMicaSetup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemutec%2FMicaSetup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemutec%2FMicaSetup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemutec%2FMicaSetup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lemutec","download_url":"https://codeload.github.com/lemutec/MicaSetup/tar.gz/refs/heads/v2","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250532176,"owners_count":21446133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["inst","installer","setup","uninst","uninstaller"],"created_at":"2024-11-10T10:14:30.091Z","updated_at":"2026-02-05T09:03:45.688Z","avatar_url":"https://github.com/lemutec.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![logo64](https://raw.githubusercontent.com/lemutec/MicaSetup/refs/heads/v2/branding/logo64.png)\n\n[![GitHub license](https://img.shields.io/github/license/lemutec/MicaSetup)](https://github.com/lemutec/MicaSetup/blob/v2/LICENSE) [![NuGet](https://img.shields.io/nuget/v/MicaSetup.Tools.svg)](https://nuget.org/packages/MicaSetup.Tools) [![Actions](https://github.com/lemutec/MicaSetup/actions/workflows/micasetup.yml/badge.svg)](https://github.com/lemutec/MicaSetup/actions/workflows/micasetup.yml) [![Platform](https://img.shields.io/badge/platform-Windows-blue?logo=windowsxp\u0026color=1E9BFA)](https://dotnet.microsoft.com/zh-cn/download/dotnet/latest/runtime)\n\n# 📦MicaSetup\n\nMicaSetup is a universal advanced installation package generation tool project that supports various features and allows customization of the full entire installation process.\n\n## 🔣Toolkits\n\n| Toolkits | Description                                               | GUI               | CLI               |\n| -------- | --------------------------------------------------------- | ----------------- | ----------------- |\n| MakeIcon | Create setup and uninst icon, both *.png and *.ico.       | Ready             | Ready             |\n| MakeMica | Build a package installer using configuration JSON file.  | Under development | Under development |\n| MakeMui  | A GUI for editing the multi-language XAML resource files. | Under development | /                 |\n\n## 🌒ScreenShots\n\n\u003cimg src=\"https://raw.githubusercontent.com/lemutec/MicaSetup/refs/heads/v2/assets/image-20240520214715174.png\" alt=\"image-20240520214715174\" style=\"zoom: 80%;\" /\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/lemutec/MicaSetup/refs/heads/v2/assets/image-20240520214758733.png\" alt=\"image-20240520214758733\" style=\"zoom:80%;\" /\u003e\n\n## 💡Features\n\n### 🌟Advanced Features\n\n| Features            | Completion | Addition                                                     |\n| ------------------- | ---------- | ------------------------------------------------------------ |\n| Mica Backdrop       | ☑          | Support Windows11 Mica Backdrop.                             |\n| Theme               | ☑          | Support Dark and Light theme.                                |\n| Archive File        | ☑          | Pack your app with `7z.exe`, so it's easy to customize your archive file or not. |\n| Animations          | ☑          | Support a lot of advanced animations.\u003cbr /\u003eSuch as Indeterminate ProgressBar, supported when your installation is no progress hint. |\n| ~~Notification~~    | ~~☑~~      | ~~Windows10 (or higher) Notification.~~                      |\n| HiDPI               | ☑          | Support to process DPI awareness.                            |\n| Firewall            | ☑          | Support allows your app to access the Network through Windows Firewall Policy. |\n| Anti Unpacking      | ☑          | Support encryption type archive file package.\u003cbr /\u003eNeeds create your app archive file with password firstly.\u003cbr /\u003eAlso can sign your setup program by `.snk`. |\n| .NET SDKs Installer | 🔲          | Auto detect and install the .NET/.NET Core/.NET Framework Runtime.\u003cbr /\u003e[Download .NET SDKs for Visual Studio](https://dotnet.microsoft.com/en-us/download/visual-studio-sdks) |\n| MSIX Installer      | 🔲          | Using MSIX package instead of archive file.\u003cbr /\u003eProvide the function the same as following command.\u003cbr /\u003e`certmgr.exe -add app.cer -s -r localMachine AuthRoot`. |\n| Online Installer    | 🔲          | Using Network instead of archive file.                       |\n\n### ✨General Features\n\n| Features           | Completion | Addition                                                     |\n| ------------------ | ---------- | ------------------------------------------------------------ |\n| Host Builder       | ☑          | Support a simple HostBuilder for handling setup configs.     |\n| Debugger           | ☑          | Unlike other installation architectures, too difficult to debug.\u003cbr /\u003eSupport using VS2022 (or higher) to debug codes. |\n| WindowChrome       | ☑          | Support WindowChrome to keep native window style instead of borderless style. |\n| Shortcut           | ☑          | Support to create your app shortcut (`.lnk`).                |\n| Fork Process       | ☑          | Support setup process forked itself to avoid the file lock.  |\n| Folder Picker      | ☑          | Support advanced Folder Picker by `WindowsAPICodePack-Shell`. |\n| Globalization      | ☑          | Support English, Chinese and Japanese nowaday.\u003cbr /\u003eSupport other languages customized by yourself. |\n| Registry           | ☑          | Support x86/x64 registry.                                    |\n| Create StartMenu   | ☑          | Support to create Start Menu in system folder.               |\n| Create QuickLaunch | ☑          | Support to create Quick Launch shortcut (`.lnk`).\u003cbr /\u003eQuick Launch has been obsoleted since Windows 10. |\n| Create Uninst      | ☑          | Support to create `Uninst.exe` for system uninstallation.    |\n| Delay Uninst       | ☑          | Support to delete file delay until reboot.\u003cbr /\u003eUseful for handling when uninst files fails. |\n| Auto Run           | ☑          | Support to make your installed app auto run.                 |\n| Security Control   | ☑          | Support to make your installed path Allow Full File Security. |\n| Install Font       | 🔲          | Support to install your fonts into system.                   |\n| Install Silent     | 🔲          | Support silent installation using CLI `/q`.\u003cbr /\u003eUseful for auto updating in the background. |\n| Install Automate   | 🔲          | Support no interactive installation using CLI `/a`.\u003cbr /\u003eUseful for auto updating in the foreground. |\n\n## 🎛️Personalized Controls\n\n| Controls           | Completion | Addition                                          |\n| ------------------ | ---------- | ------------------------------------------------- |\n| WindowX            | ☑          | Support Mica Backdrop.\u003cbr /\u003eSupport WindowChrome. |\n| SetupProgressBar   | ☑          | Support Indeterminate Animation.                  |\n| MessageBoxX        | ☑          | Simple MessageBox instead of Classics.            |\n| SmoothScrollViewer | ☑          | Support smoothly scrolling.                       |\n\n## 😋Demos\n\n\u003e The programs using MicaSetup.\n\n[QL-Win/QuickLook](https://github.com/QL-Win/QuickLook) (Recommended)\n\n[GenshinMatrix/Fischless.Relauncher](https://github.com/GenshinMatrix/Fischless.Relauncher)\n\n[lemutec/LyricStudio](https://github.com/lemutec/LyricStudio)\n\n[GenshinMatrix/Fischless](https://github.com/GenshinMatrix/Fischless)\n\n## 📖Usage \u0026 Wikis\n\n### Build via NuGet package\n\n```xml\n\u003cItemGroup\u003e\n    \u003cPackageReference Include=\"MicaSetup.Tools\" Version=\"2.5.0\" /\u003e\n\u003c/ItemGroup\u003e\n```\n\nand then you can use `makemica.exe` and `7z.exe` from NuGet cache directory in your PowerShell script.\n\n```powershell\nWrite-Host \"Get NuGet global package cache directory\"\n$globalPackages = (dotnet nuget locals global-packages --list) -split \":\\s*\", 2 | Select-Object -Last 1\n$sevenZip = Join-Path $globalPackages \"micasetup.tools\\2.5.0\\build\\bin\\7z.exe\"\n$exePath = Join-Path $globalPackages \"micasetup.tools\\2.5.0\\build\\makemica.exe\"\n\nWrite-Host \"7z packing\"\n\u0026 $sevenZip a $package7z \".\\*\" -t7z -mx=5 -mf=BCJ2 -r -y\n\nWrite-Host \"Installer building\"\n# Ensure your micasetup.json file here\n\u0026 $exePath\n```\n\n### Usage of `fetchver`\n\n```bash\n@echo off\nfor /f \"tokens=* delims=\" %%i in ('fetchver.exe /v3 \"fetchver.exe\"') do set fetchver=%%i\n@echo The result is: %fetchver%\n@pause\n```\n\nSupport options: v1, v2, v3, v4\n\n## 🎃Developer\n\n### ⚙️Debug Codes\n\nRun the `setup_dummy.cmd` for creating some dummy things used in project.\n\nSuch as `publish.7z` as your app published package and full size font used in Setup programs.\n\nAnd then Run VS2026 (or higher) as Admin to open the `.slnx`.\n\n### 📦Create Setup\n\nRun the `setup_build.cmd` for building the full Setup programs.\n\nCommand Flow:\n\n1. Build my app, named `MicaApp` using `dotnet publish`.\n2. Pack my app using `7z.exe`.\n3. Build Uninst, named `Uninst.exe` using `msbuild`.\n4. Build Setup, named `MicaSetup.exe` using `msbuild`.\n\n## 🚀Contributes\n\n🈺Welcome PRs, issues, wikis, demos.\n\n## 🌟Components\n\nIncluding follow [components](COMPONENTS.md).\n\n## 📑License\n\nThis software codes are licensed under the [MIT](LICENSE) License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemutec%2Fmicasetup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flemutec%2Fmicasetup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemutec%2Fmicasetup/lists"}