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

Previous Version Not Removed When Using /qr


4 replies to this topic

darcazian

darcazian
  • Full Members
  • 2 posts

Posted 14 February 2011 - 09:49

I have created a deployment project using Visual Studio 2008 and set the project to default to AllUsers. If I create an upgrade installer and run it without passing arguments to msiexec, it correctly removes the previous version when installing. If I try the same upgrade using /qr as the argument to msiexec, the previous version is not removed and both versions are displayed in Add/Remove Programs. I thought maybe the installer was somehow defaulting to single user during the /qr install and tried adding ALLUSERS=1 to the msiexec call but it did not make a difference. Anyone know the cause and how to resolve or workaround this?

Edited by darcazian, 14 February 2011 - 11:15.


KathyMorey

KathyMorey
  • Full Members
  • 111 posts

Posted 15 February 2011 - 16:07

Where is the RemoveExistingProducts action scheduled? Have you tried logging the upgrade when using the option to see it that gives you a clue?
Kathy Morey
Synergy Software Engineer
ProfitStars, a Jack Henry Company
kmorey@profitstars.com

darcazian

darcazian
  • Full Members
  • 2 posts

Posted 16 February 2011 - 06:59

RemovePreviousVersions is set to true in the deployment project. Since the only difference that causes the issue is the use of /qr with misexec, is there any particular verbiage that should I look for in the log that will help identify the cause?

Edited by darcazian, 16 February 2011 - 07:00.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 16 February 2011 - 21:56

/qr shouldn't make a difference. Did you generate a log?

VBScab

VBScab
  • Full Members
  • 436 posts

Posted 21 February 2011 - 16:11

QUOTE (darcazian @ 2011-02-16 06:59)
RemovePreviousVersions is set to true in the deployment project.

No, you misunderstood.

In the MSI, there is a standard Custom Action called RemoveExistingProducts. Its default location, as per MS guidelines, is near the end of the installation sequence. This is designed to reduce the overhead of removing files which get replaced by indentical versions.

If one wants to be sure that all files get removed during an upgrade, one typically moves this CA to near the beginning of the sequence.

That brings us neatly to the subject of Custom Actions. I'm willing to bet you have one or more Custom Actions which are set to execute in the User Interface sequence. If the UI sequence doesn't get run, then clearly the CAs won't get run, either.

Edited by VBScab, 21 February 2011 - 16:13.

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