NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore very suitable for internet distribution.
Being a user's first experience with your product, a stable and reliable installer is an important component of succesful software. With NSIS you can create such installers that are capable of doing everything that is needed to setup your software.
NSIS is script-based and allows you to create the logic to handle even the most complex installation tasks. Many plug-ins and scripts are already available: you can create web installers, communicate with Windows and other software components, install or update shared components and more.
--> Taken from: https://sourceforge.net/projects/nsis/
Below is a chart that shows the versions number corresponding DWORD
value in the Release key. See below this chart for an example on how to use this in action. I will do my best to try and keep this page up-to-date with the latest values but you can visit this page for an updated list if the version you need isn't listed here.
Take special notice how there are two rows for
4.7
,4.6.2
,4.6.1
, and4.6
. These versions require you to check for both values as the operating systems vary.
Version | Operating System | Value of Release |
---|---|---|
4.7 | Windows 10 Creator's Update | 460798 |
4.7 | All except Windows 10 Creator's Update | 460805 |
4.6.2 | Windows 10 Anniversary Update | 394802 |
4.6.2 | All except Windows 10 Anniversary Update | 394806 |
4.6.1 | Windows 10 November Update | 394254 |
4.6.1 | All except Windows 10 November Update | 394271 |
4.6 | Windows 10 | 393295 |
4.6 | All except Windows 10 | 393297 |
4.5.2 | All | 379893 |
4.5.1 | Windows 8.1 or Windows Server 2012 R2 | 378675 |
4.5.1 | Windows 8 and Wiindows 7 | 378758 |
4.5 | All | 378389 |
I haven't fully tested these functions completely so if you run into problems with one of them let me know and I'll do my best to help. You can see this function working in action with SharpDevelop Portable.
Like I said above I will do my best to try and keep these up-to-date but if you need a version that these functions aren't checking for, let me know so I can revise them and update this page.
Using the RegSvr32.exe
command line is my preferred method on getting you libraries registered so let's start here first. Windows PCs coupled with Internet Explorer 3.0 or later come stock with RegSvr32.exe
. So there's a good chance your PC comes standard with this utility. Now if you are running on a 64-bit machine, there are two variants you can consider. They can be found in either $WINDIR\system32
or $WINDIR\SysWow32
.
The parameters you can use with RegSrv32 are /u
/s
/i
/n
. The /u
command switch will unregister the file. The /i
switch can be used with /u
to call for DLL uninstallation. The /n
parameter will not call DllRegisterServer; it's used with /i
which is the install switch. If you use /s
, which means silent, no message boxes will be displayed on Windows XP or later.
When using RegSvr32.exe
from the command line you'll get message boxes after calling it. The DLLSelfRegister function will be invoked unless using the aforementioned switch of course; if successful an alert box will be shown denoting its success—as the same for failure which throws an error message.
It's been my experience that the x64
RegSvr32.exe
registers x86 DLL's properly on Windows Vista and above (excludes XP; visit this article for more) and above so I use it when installing on x64 systems even when registering a x86 file. Besides, Windows XP is a dying art; bless it's heart. =)