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.

MSI action Rollback on failure

1 reply to this topic


  • Full Members
  • 3 posts

Posted 19 March 2010 - 04:36

Could anyone give me some advice on this problem?...
I have one installscript msi project in IS2009.

There are two features in my project. one feature has specified merge modules of crystal report(MSI action), one feature has database creation script(also with script files copy as MSI action). I called the sql script in the script function "sqlFeature_installed"(installscript MSI event?).

I read the run-time installation sequence which said that the "sqlFeature_installed" will be called after the files are copied(MSI event).
So I think the sqlFeature files are copied to the destination pc and the merge module will be installed first. Then the "sqlFeature_installed" will be called.

When the "sqlFeature_installed" encounter failure, the installation will be rollback. But I found that, the merge module won't be uninstalled and the files copied are not deleted.

I'm not sure how to deal with this situation. how to make the MSI action rollback? how to uninstall the merge module files?Is any one has some opinions on this issue? thanks very much.

Edited by julietcq, 19 March 2010 - 04:38.

Stefan Krueger

Stefan Krueger


  • Administrators
  • 13,269 posts

Posted 22 March 2010 - 10:09

If a merge module contains componentns and files, they become normal part of the msi file during build, and should be removed in case of rollback - unless they are marked as permanent, which might be the case for some merge module. You should see this in the log file.

Some merge modules are different however. Instead of components and file they only include a custom action which runs a monolithic thrid party redistributable installer. These merge modules typically do not call the uninstaller of the redistributable in case of rollback.