- NSIS Discussion
- Switch from Inno Setup to NSIS
Archive: Switch from Inno Setup to NSIS
komsbomb
22nd February 2006 08:10 UTC
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?
glory_man
22nd February 2006 09:49 UTC
What kind of information writed by Inno?
komsbomb
22nd February 2006 10:00 UTC
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.
glory_man
22nd February 2006 10:06 UTC
Just delete uninstaller and change (or delete) registry information. :D Instrucions - Delete, DeleteRegValue, DeleteRegKey. Why you can not use it?
komsbomb
22nd February 2006 10:08 UTC
Isn't there any helper macros to do that?
It will be a little headache to do that.
I'm seeking a simpler way.
glory_man
22nd February 2006 10:40 UTC
It will be a little headache to do that.
Why?
Sutek
22nd February 2006 12:37 UTC
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!
komsbomb
22nd February 2006 13:50 UTC
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. :)
Brummelchen
22nd February 2006 17:50 UTC
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
komsbomb
23rd February 2006 01:55 UTC
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.
Pharaoh Atem
26th February 2006 16:42 UTC
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...
Instructor
26th February 2006 17:40 UTC
Water does not flows under settled stones.
Pharaoh Atem
26th February 2006 17:43 UTC
Originally posted by Instructor
Water does not flows under settled stones.
What the heck? What does that mean? Ehhh....
komsbomb
27th February 2006 02:06 UTC
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.
Pharaoh Atem
27th February 2006 02:22 UTC
Alright I will try it...