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

REMOVE="ALL" during patch?


3 replies to this topic

fegorsch

fegorsch
  • Full Members
  • 11 posts

Posted 22 June 2012 - 15:33

Hello everyone,

I recently built a patch for my InstallScript MSI Project and I was very confused when a costum action that deleted a certain file was executed. This CA is conditioned as REMOVE="ALL", in my understanding this means it's only executed during uninstallation.
Looks like I'm wrong, as I recognized in the patch's log, that REMOVE="ALL" was also set during my patch execution.

The problem can be easily solved by adding NOT PATCH to the custom action's conditions, nevertheless this behaviour seems very odd. To prevent further misunderstandings:

Does anyone have an explanation to why the REMOVE property is set to ALL during a patch?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 June 2012 - 10:22

Thsi could happen during a Major Upgrade, i.e. if you changed the ProductCode. However it's quite unusual to ship a major upgrade as a patch (msp) package.

fegorsch

fegorsch
  • Full Members
  • 11 posts

Posted 27 June 2012 - 16:00

Hello Stefan,

thanks for your answer. I didn't change the ProductCode, only the ProductVersion from one package to the other (and of course the PackageCode).

When I execute the newer setup version and the older one is already installed a minor upgrade is performed. So I don't think my patch is based on a major upgrade, but MSI and InstallShield never fail to surprise me, so who knows ...

On a side note, I do not ship a .msp, but let it InstallShield compile it into an .exe. But that shouldn't affect the setup logic, i.e. the setting of properties.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 June 2012 - 16:18

Did you generate a log to see which update type is actually happening? Sometimes, a buggy merge module could change the ProductCode.
The log might also tell you if some action changes the REMOVE property.