nsis

Topics related to nsis:

Getting started with nsis

DotNET

.NET Values

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, and 4.6. These versions require you to check for both values as the operating systems vary.

VersionOperating SystemValue of Release
4.7Windows 10 Creator's Update460798
4.7All except Windows 10 Creator's Update460805
4.6.2Windows 10 Anniversary Update394802
4.6.2All except Windows 10 Anniversary Update394806
4.6.1Windows 10 November Update394254
4.6.1All except Windows 10 November Update394271
4.6Windows 10393295
4.6All except Windows 10393297
4.5.2All379893
4.5.1Windows 8.1 or Windows Server 2012 R2378675
4.5.1Windows 8 and Wiindows 7378758
4.5All378389

Conclusion

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.

Registering Libraries (RegDLL)

RegSrv32.exe

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. =)

Services