Project Introduce
NSIS-UI-Plugin support a way to create setup with beautiful, modern UI.
NSIS-UI-Plugin plugin use Qt as UI library by default, you can use any UI library in theory, such as DuiLib.
Install Dependenciese
- Install NSIS
Download NSIS and install, then add NSIS_DIR
system environment variable as NSIS install directory.
- Install Python
Install Python just for execute NsisScriptGenerate.py
script. After install, add the direcotry where Python.exe
is located to Path
system environment variable.
- Install Qt
NSIS-UI-Plugin use Qt as UI library by default.
The Qt installer will add the QtDIR
system environment variable as Qt install directory. If it not add automatically, you need to add it manually.
- Compile NSIS-UI-Plugin
After installing the above dependencies, then compile NSIS-UI-Plugin\NSIS-UI-Plugin.vcxproj
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
).
- Generate Test Setup
VimeoSetup
directory is sample about how to use NSIS-UI-Plugin.
App -- Place the files that need to be packaged into the installer
VCRuntimeDLL -- Place VC++ runtime files(Debug/Release), Qt compiled with MD mode by default.
vimeo-template.nsi -- NSIS template script file,`-template` suffix is fixed, can't change. NsisScriptGenerate.py will generate vimeo.nsi based on this template.
build-setup [debug].bat -- Generate Debug mode setup, that means using debug version Qt/NSIS-UI-Plugin.
build-setup [debug].bat -- Generate Release mode setup
Place the files you need to package into the App
directory, then run build-setup.bat
to generate the installer.
NsisScriptGenerate.py
:
Since 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.
Screenshot
For example only, you can use any UI library to create any UI by yourself.