{"id":19267613,"url":"https://github.com/winsoft666/nsis-ui-plugin","last_synced_at":"2025-04-05T02:11:52.492Z","repository":{"id":39801238,"uuid":"222405449","full_name":"winsoft666/NSIS-UI-Plugin","owner":"winsoft666","description":"Create NSIS modern UI setup by using thirdparty UI library(such as Qt, DuiLib)","archived":false,"fork":false,"pushed_at":"2025-02-20T04:05:50.000Z","size":2523,"stargazers_count":132,"open_issues_count":1,"forks_count":53,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T01:14:28.095Z","etag":null,"topics":["duilib","installer","installer-script","nsis","nsis-plugin","qt"],"latest_commit_sha":null,"homepage":"https://blog.csdn.net/china_jeffery/category_9271543.html","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/winsoft666.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":null},"created_at":"2019-11-18T09:01:33.000Z","updated_at":"2025-03-20T07:48:05.000Z","dependencies_parsed_at":"2025-03-04T16:11:24.558Z","dependency_job_id":"b6912c25-90e3-40db-8aba-313efb971237","html_url":"https://github.com/winsoft666/NSIS-UI-Plugin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winsoft666%2FNSIS-UI-Plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winsoft666%2FNSIS-UI-Plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winsoft666%2FNSIS-UI-Plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/winsoft666%2FNSIS-UI-Plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/winsoft666","download_url":"https://codeload.github.com/winsoft666/NSIS-UI-Plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"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":["duilib","installer","installer-script","nsis","nsis-plugin","qt"],"created_at":"2024-11-09T20:13:32.853Z","updated_at":"2025-04-05T02:11:52.460Z","avatar_url":"https://github.com/winsoft666.png","language":"C++","readme":"[\u003e\u003e\u003e 中文版](README_ch.md)\n\n# NSIS-UI-Plugin\nCreate beautiful, modern UI setup for windows.\n\nUsing Qt as default UI library, you can use any UI library in theory, such as [DuiLib](https://github.com/winsoft666/duilib2).\n\n---\n\n# Dependencies\n\n**1. NSIS**\n\nDownload [NSIS](https://nsis.sourceforge.io/Download) and install, then add `NSIS_DIR` system environment variable as NSIS install directory.\n\n**2. Python**\n\nInstall Python just for execute `NsisScriptGenerate.py` script. \n\nAfter installed, add the direcotry where `Python.exe` is located to `Path` system environment variable.\n\n**3. Qt**\n\nNSIS-UI-Plugin use Qt as UI library by default.\n\nThe Qt installer will add the `QtDIR` system environment variable as Qt install directory. If it not be added automatically, you need to add it manually.\n\n**4. Visual Studio**\n\nInstall Visual Studio and \"Qt VS Tool\" plugin, configure Qt version and install directory.\n\n---\n\n# Getting Started\n\n**Compile NSIS-UI-Plugin**\n\nAfter installing the above dependencies, then open `NSIS-UI-Plugin\\NSIS-UI-Plugin.vcxproj` project, setting Qt version in project property page.\n\nCompile project, Visual Studio's *After Build Event* will copy target file(Debug: `nsQtPluginD.dll` Release: `nsPlugin.dll`) to NSIS plugin directory(`NSIS_DIR\\Plugins\\x86-unicode`).\n\nIf the copy fails, it may be caused by permission issues. You need to run Visual Studio with administrator rights and compile again.\n\n**Generate Setup**\n\n`VimeoSetup` directory is sample about how to use NSIS-UI-Plugin.\n\n```txt\nApp                        -- Place the files that need to be packaged into the installer\nVCRuntimeDLL               -- Place VC++ runtime files(Debug/Release), Qt compiled with MD mode by default.\nvimeo-template.nsi         -- NSIS template script file,`-template` suffix is fixed, can't change. NsisScriptGenerate.py will generate vimeo.nsi based on this template.\nbuild-setup [debug].bat    -- Generate Debug mode setup, that means using debug version Qt/NSIS-UI-Plugin.\nbuild-setup [debug].bat    -- Generate Release mode setup\n```\n\nPlace the files you need to packaged into the `App` directory, then run `build-setup.bat` to generate the installer.\n\n\n\u003e`NsisScriptGenerate.py`:\nSince NSIS has no way to get file extract progress/details, so I write `NsisScriptGenerate.py`, enumerate `App` folder, add each file by `File` command, call `SetInstallStepDescription` interface to notify installing details.\n\n---\n\n# Screenshot\n\nFor example only, you can use any UI library to create any UI by yourself.\n\n\u003cimg src=\"https://github.com/winsoft666/NSIS-UI-Plugin/blob/master/Screenshot/1.png\" width=\"50%\"\u003e\n\n\u003cimg src=\"https://github.com/winsoft666/NSIS-UI-Plugin/blob/master/Screenshot/2.png\" width=\"50%\"\u003e\n\n\u003cimg src=\"https://github.com/winsoft666/NSIS-UI-Plugin/blob/master/Screenshot/3.png\" width=\"50%\"\u003e\n\n# Sponsor\nThank you for using this project. It would be a great pleasure for me if this project can be of help to you.\n\n**You can go to my Github [homepage](https://github.com/winsoft666) to make a donation.**","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinsoft666%2Fnsis-ui-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwinsoft666%2Fnsis-ui-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwinsoft666%2Fnsis-ui-plugin/lists"}