Archive: making registry values permanent on uninstall


making registry values permanent on uninstall
We let users use our product in demo mode and cut it off after 3 days.

Is it possible to create an uninstaller that does not delete the registry value for the demo mode?


yes. Just.. don't delete it. Unless you're using a wizard of sorts to create your installer, all of NSIS's registry handling is manual. You create your keys and values individually, and you delete them individually. So just remove the command that deletes the value of interest.

( I hope you don't count on that registry entry as your only 'demo mode' check, though %) )


Will that make the values permanent such as is done on windows installer?

http://msdn.microsoft.com/en-us/library/aa369530(VS.85).aspx


oops here is the link to windows.

http://msdn.microsoft.com/en-us/library/aa369530(VS.85).aspx


if you don't delete the registry value, it'll be 'permanent' as long as something, or somebody, else doesn't delete it.

Basically the MSI installer wizard by default creates an uninstaller that removes all the registry entries that the installer creates, and you have to explicitly tell it to -not- delete the ones you want to keep.

With NSIS, there is no such automated mechanism (there may be header files out there that do something like that, just like there is a 'remove only installed files' one), and you have to explicitly tell NSIS which ones you want to remove. If you don't remove them, then they are left alone in the registry.