I create my setup`s with NSIS. Now i faced with updates. Is there examples of how to create nsis installer with this functionality:
detect older version
delete files
set new files
Thanks in advance
P.S.: Sory for my bad english
What about running uninstaller of old version (Execute uninstall.exe in target directory) and then installing new version?
I think it is the simplest way and there is no effort for you as each software (usually) has uninstaller.
Related
I have an old InstallShield installer which i believe was made using InstallShield 2012. I don't have the install script code for the same. I only have exe of the installer with me.
I need to create a new installer containing some of the same features from old installer, so is there any way by which i can get the setup.rul file of the installer from its exe?
I did some googling but got no help.
Setup.exe Extraction: If you run an extraction of your setup.exe, do you get an *.ins file?
Programmatically extract contents of InstallShield setup.exe
Extract MSI from EXE
Decompiler: I believe there are some hacky solutions to decompile *.ins to *.rul. I do not have such a tool, nor have I ever tried one and I can't recall seeing any trace of them for a whole decade. Perhaps Installshield support can help?
Alternatives: Off the top of my head: Contact Installshield support, they might have better advice? Check with Installshield community? Check with Stefan Kruger - Installshield consultant? Check any source repositories you can find based on setup.exe timestamp? (search for *.rul, *.ism, or similar as relevant). Check backups? Check backups of setup developer PC? Check github.com even? (for samples of similar tasks). Check external media, email attachments, network shares, etc...
I am trying to migrate from InstallShield to Inno Setup. I have all setup but I got stuck on a single case when the user might downgrade from Inno Setup back to the InstallShield. I need InstallShield to fail the installation or at least warn the user to uninstall Inno Setup version first manually (otherwise I get two versions installed and things get messed up).
I CANĀ“T of course change the existing InstallShield installers in any way since they have already been released. Solution must come from Inno Setup. Any ideas how this could be done? I understand this might me impossible.
A stock InstallShield template automatically authors a prevent downgrade rule into the MSI. Assuming your InnoSetup project was created using the same UpgradeCode as the InstallShield project this should work automatically.
If you gave your new InnoSetup project a new UpgradeCode GUID and authored a remove legacy product type rule using the old GUI in the Upgrade table there really isn't much InstallShield could possibly do. That's the nature of installers... once it's shipped it's shipped.
I do not think this can be done. The Inno Setup does not use the Windows Installer, so the InstallShield won't even know that your product is already installed. And Inno Setup uninstaller cannot know that the InstallShield installer is starting.
The best what you can do is to have your Inno Setup installer remove the InstallShield installation and install itself to another folder. So when you re-install the InstallShield installation, it at least won't conflict/break the Inno Setup installation. And user will be able to correctly uninstall the new Inno Setup installation, if needed.
OK I solved it. (kind of)
There is a simple trick what you can do to trick the InstallShield to think it is already installed even if it is not.
First you need to locate all the registry entries with your UpgradeCode and ProductCode (it should be 3 entries for the UC and 5 for the PC) normally created by the InstallShield. Also note that both GUIDS are stored in the registry in reversed form (first 8 chars are backwards!!! - rest I am not sure of but it can be googled).
Now you need to make the InnoSetup recreate this registry entries. When InstallShield starts it looks for existing version in the registry, if it finds one it tries to uninstall it using the copy of the original installer - path to the copy is stored in the registry at
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products{reversed guid of product code}\InstallProperties]
"LocalPackage"="C:\Windows\Installer\[random string].msi"
If InstallShield wont find this file it will fail. You can also create your own MSI file which will call the uninstall.exe file from InnoSetup.
I have created an MSI installscript project in Installshield. I went to Project Assistant>Application Files, then added the application files(package) and built Setup.exe to install.
After installed these files, I went back to Project Assistant and added some application files, then i changed the product version for updating. Finally, i built the Setup.exe again. When i run the Setup.exe, the automatic update (Upgrade Window Installer Setup) asked me to update a new version. After finishing, I checked Program Files(x86) and the updating didn't do anything, the old package was still here.
How can i update my new package? Is there any way to disable the Upgrade Window Installer Setup?
Thanks for the help.
In my humble opinion, most likely, you added new files to existing Component with keypath, which didn't change. Also you should check "Add\Remove Programs" snap-in in Control Panel to see if upgrade was applied - there should change version of your product.
So, I recommend you check Components, and re-allocate files to new Components if I had right. Also please read more about Components and Files. Could start from here.
Two words about InstallScript MSI project. From InstallShield documentation: Because this project type uses two different engines, it is more complex than pure InstallScript or Basic MSI installation projects. It is recommended only for advanced users.
So, if possible, use Basic MSI project - it's a bit simpler than InstallScript MSI for begginers.
What program possibly is the creator of the MxNitro browser installer?
How can I make a simple installer like that?
MxNitro Installer is a custom installer made by Maxthon, based on NSIS.
Its source contains the path: d:\mxdev\mt\trunk\deploy\builder\MTInstall_NSIS\install_data\Install.pdb
You can make a very simple installer using InstallSimple too.
how to create installer of application( .sh and .pl files) on ubuntu? and how to install it?
We need more details to give you a proper answer. However, if you're looking for something installable on a GNU/Linux distribution, I'd recommend you package your application as an RPM or a DEB.
On the other hand, if you simply want to create a self extracting "installer", you can consider using makeself.
I don't know about any perl tool that does this.
For linux/unix platform I used InstallAnywhere and InstallShield Universal. Both allows to create projects which can be built for various platforms including win and mac and for linux platforms it creates .bin package which can be installed rather with UI or console mode.