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

When do MSI-specific registry entries get written?


2 replies to this topic

VBScab

VBScab
  • Full Members
  • 436 posts

Posted 25 January 2006 - 13:32

At what stage does WI write to HKCR\Installer\Products\(Munged Product Code) and HKML\Software\Microsoft\Windows\CurrentVersion\Uninstall\(Product Code)?

I ask because I have an MSI authored by AN Other which I'm driving via a VB Script. The install fails during a Custom Action and I can see the roll-back occurring (with basic UI). When MSIExec returns, the script uses the Installer object to test the installed state of the product and it shows as installed. Sure enough, when I check the registry, the keys above are present.

Shouldn't these be removed during a rollback? I'm guessing that the CA is in the wrong place, in that the registry stuff is written and THEN the CA runs. My problem is, which built-in CA writes the registry info detailing the install state? MSDN doesn't want to tell me... sad.gif
- 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.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 25 January 2006 - 17:23

I think this happens during the RegisterProduct phase. A verbose log should tell you more.
Is the CA scheduled between InstallInitialize and InstallFinalize, and is scheduled for deferred execution? These are requirements for rollback.

VBScab

VBScab
  • Full Members
  • 436 posts

Posted 25 January 2006 - 18:09

Is the CA scheduled between InstallInitialize and InstallFinalize?
Yes
and is scheduled for deferred execution
Yes

Further experimentation shows that the rollback doesn't always occur, depending on which CA fails.
- 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.