This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
basic 'minor' update
Started by
mnmid
, Feb 07 2012 23:01
6 replies to this topic
Posted 07 February 2012 - 23:01
I have a very simple msi file made using a program called MSICREATE. I have been telling people to delete the software using Add/Remove Programs from the control panel before installing updates. I would now like to have the msi file delete the old version. Nothing changes in the new releases except for the files in the package; no new files are added and none are deleted. The updates must not delete registry entries. Entries in the file table have null versions.
I'd like people to be able do initial installs, upgrades, and down grades using the same msi files.
I tried the following using orca in the hopes of doing a minor upgrade...
Added RemovePreviousVersions=TRUE to the property table
Added Reinstall=TRUE to the property table
Added ReinstallMode=os to the property table
changed the PackageCode of the new msi file
updated ProductVersion
When I run the new msi file, I see only "repair" and "delete" options. "repair" leaves the existing version in place.
Is this possible using a msi file or do I need to make a setup file?
I'd like people to be able do initial installs, upgrades, and down grades using the same msi files.
I tried the following using orca in the hopes of doing a minor upgrade...
Added RemovePreviousVersions=TRUE to the property table
Added Reinstall=TRUE to the property table
Added ReinstallMode=os to the property table
changed the PackageCode of the new msi file
updated ProductVersion
When I run the new msi file, I see only "repair" and "delete" options. "repair" leaves the existing version in place.
Is this possible using a msi file or do I need to make a setup file?
Posted 09 February 2012 - 13:13
Looks like there are several problems:
1. If you modify the .msi file you also need to assign a new PackageCode GUID. The result is an error that another version is already installed when you double click the .msi file - this is expected behaviour. If you see the Repair/Uninstall dialog instead, there's something wrong with your PackageCode.
2. You need to call msiexec.exe /i your.msi REINSTALL=ALL REINSTALLMODE=vomus to install the update. This needs to be done on the command line, not inside the .msi. The v in REINSTALLMODE instructs Windows Installer to use the new .msi file instead of the cached old version.
3. The properties RemovePreviousVersions, Reinstall, and ReinstallMode which you added to the Property table have no meaning.
1. If you modify the .msi file you also need to assign a new PackageCode GUID. The result is an error that another version is already installed when you double click the .msi file - this is expected behaviour. If you see the Repair/Uninstall dialog instead, there's something wrong with your PackageCode.
2. You need to call msiexec.exe /i your.msi REINSTALL=ALL REINSTALLMODE=vomus to install the update. This needs to be done on the command line, not inside the .msi. The v in REINSTALLMODE instructs Windows Installer to use the new .msi file instead of the cached old version.
3. The properties RemovePreviousVersions, Reinstall, and ReinstallMode which you added to the Property table have no meaning.
Stefan Krüger
InstallSite.org twitter facebook
Posted 09 February 2012 - 14:01
QUOTE (Stefan Krueger @ 2012-02-09 13:13) |
REINSTALLMOCE=vomus |
Ah, the old Fat Finger Syndrome strikes again
That should be 'REINSTALLMODE=vomus', of course.
- Don't know why 'x' happened? Want to know why 'y' happened? ProcMon will tell you.
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.
Posted 09 February 2012 - 15:00
@Stefan Krueger:
Thanks, I'll try your suggestions. Is there some way to turn the msiexec into something simple the end user can run? I don't want to require people to type in the msiexec command nor do I want to distribute a batch file. I also don't want registry entries deleted so I will have to change the vomus options.
Mike
Thanks, I'll try your suggestions. Is there some way to turn the msiexec into something simple the end user can run? I don't want to require people to type in the msiexec command nor do I want to distribute a batch file. I also don't want registry entries deleted so I will have to change the vomus options.
Mike
Posted 10 February 2012 - 15:37
That's why many setup tools use a setup.exe which can automatically detect the update and use the appropriate command line parameters. You could use this one for instance:
http://www.vinga.se/...tup/default.htm
@VBScab: thanks for pointing out the typo. (I've now corrected it in my original post)
http://www.vinga.se/...tup/default.htm
@VBScab: thanks for pointing out the typo. (I've now corrected it in my original post)
Stefan Krüger
InstallSite.org twitter facebook
Posted 10 February 2012 - 21:56
@Stefan Krueger:
So are you saying that a minor update consists of multiple files?
setup.exe
xxx.ini
xxx.msi
That seems to invite the end user to meddle.
So are you saying that a minor update consists of multiple files?
setup.exe
xxx.ini
xxx.msi
That seems to invite the end user to meddle.
Posted 13 February 2012 - 09:36
Well, you could package everything up in a self extracting exe.
The alternative is shipping your update as a patch (.msp) instead of a full .msi. Or doing a Major Upgrade.
The alternative is shipping your update as a patch (.msp) instead of a full .msi. Or doing a Major Upgrade.
Stefan Krüger
InstallSite.org twitter facebook