Archive: Switch from Inno Setup to NSIS


Switch from Inno Setup to NSIS
Now I'm a Inno Setup user. But Inno lacks some features like uninstall page wizard. So I plan to switch to NSIS.

So one question,
If I install my previous version software (installed by Inno), and then I install the new version by NSIS, there will be two 'Uninstall' items in the start menu!
So is there any easy way to install the new version but remove all previous informations written by Inno?
I don't want to force the user to uninstall the existing version.
Should I have to hack into Inno to remove all files and reg keys produced by Inno?


What kind of information writed by Inno?


I mean the installation informations. Such like the uninstall info Inno writes to the registry, and the uninstaller file Inno creates in the install path, etc.


Just delete uninstaller and change (or delete) registry information. :D Instrucions - Delete, DeleteRegValue, DeleteRegKey. Why you can not use it?


Isn't there any helper macros to do that?
It will be a little headache to do that.
I'm seeking a simpler way.


It will be a little headache to do that.
Why?

Isn't there any helper macros to do that?
It will be a little headache to do that.
I'm seeking a simpler way.
Not really, and to be completely honest I'd be very surprised to find that any of the various installer packages like InnoSetup, InstallShield or the like had anything like this.

Installation packages tend to be custom to those creating them, and thus so too is the information these packages create for uninstallation. They might all follow a standard pattern laid out by the packages default config, but there's no guarantee that someone won't have altered it in some critical way - no "helper macro" could predict that.

Using a series of Delete, and DeleteRegValue/Key commands is about as simple as you can possibly get really, and a darn sight more reliable and customisable than any form of helper macro :) If you have a lot of very similar applications, you could probably then turn this series of commands into your own helper macro!

Thank you all.

Now I know what I shoud do, delete, delete, and delete. :-).
Maybe I should use some registery monitor program to find out what Inno will write to the registry.
Can anyone figure out what the keys are that Inno write?
Maybe I should ask this in Inno newsgroup or do the hack by myself. :)


Use regmon
http://www.sysinternals.com/Utilities/Regmon.html

But in most cases INNO only write the uninstall keys and that can be used or is similar to NSIS keys, eg:
- UninstallString
- InstallLocation
- DisplayName
- DisplayIcon

To determine where older installations were put you have to
read out theses inportant keys (the rest is not neccessary)
or some use some specific keys from programm itself (eg
hkcu/software/<program> or hklm/software/<program>)

be sure to be compatible to your own installers - EVER.

InstallShield is complete different - it is possible to have
a clean silent uninstall - but i dont recommend this.
Just inform your user that another instance is installed and
user should uninstall it manually.

NSIS can do a lot for you - just code it


Yeah, I will DIY it.

I don't want the user to uninstall the app because it will remove the config files in the previous version.

I will hard code the delete routine in NSIS.


I am also trying to move some stuff to NSIS.... The two scripts attached are inno scripts, and I want to port them to NSIS so that I can create a version that contains my special "keys" for the network I am deploying to.... The keys are embedded in the installer without scripting, so the only thing is to convert the Inno scripts to NSIS, but I tried iss2nsi and it kept spewing errors of invalid directives... Could someone port these scripts for me so that I can build these with NSIS? I loved the small overhead (one of the main reasons I chose NSIS, the other is uninstall pages), which is why I am being bold enough to ask this...


Water does not flows under settled stones.


Originally posted by Instructor
Water does not flows under settled stones.
What the heck? What does that mean? Ehhh....

Originally posted by Pharaoh Atem
I am also trying to move some stuff to NSIS.... The two scripts attached are inno scripts, and I want to port them to NSIS so that I can create a version that contains my special "keys" for the network I am deploying to.... The keys are embedded in the installer without scripting, so the only thing is to convert the Inno scripts to NSIS, but I tried iss2nsi and it kept spewing errors of invalid directives... Could someone port these scripts for me so that I can build these with NSIS? I loved the small overhead (one of the main reasons I chose NSIS, the other is uninstall pages), which is why I am being bold enough to ask this...
Hello,

I didn't port my Inno script to NIS, but to fully rewrite my Inno script in NIS. That's easier to do than blindly porting!
Because I'm too new to NIS, I use HM NIS Editor to create a basic script, then I add what I need to it.

Your Inno scripts are very simple, even not include any code? So you should just to user HM NIS Editor to get a basic script, then add all files in it. Of course the editor can help you add files too.

Alright I will try it...