Jump to content


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.
Photo

basic 'minor' update


6 replies to this topic

mnmid

mnmid
  • Full Members
  • 3 posts

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?



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.

VBScab

VBScab
  • Full Members
  • 436 posts

Posted 09 February 2012 - 14:01

QUOTE (Stefan Krueger @ 2012-02-09 13:13)
REINSTALLMOCE=vomus

Ah, the old Fat Finger Syndrome strikes again smile.gif

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.

mnmid

mnmid
  • Full Members
  • 3 posts

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


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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)

mnmid

mnmid
  • Full Members
  • 3 posts

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.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.