I recently found that if you use setupbld to chain multiple msi installs 
together and one install fails the rollback is broken.

I have fixed this locally, but found that there were two ways to address it.

The rollback code call ConfigureMSI, but only supplies the product code.  In 
the code for CONFIGURE_ACTION_UNINSTALL  the call to ::MsiInstallProductW() 
fails since wzMsiPath is null.  The first way to fix this would be to pass in 
the path to the MSI.  This could get tricky I think based on whether the MSI 
was cached or not and if the temp file has already been deleted.

The route I took to fix was to leave the calling code as is and change the 
handing of CONFIGURE_ACTION_UNINSTALL to simple call ::MsiConfigureProductW()  
passing in the provided wzProductCode and INSTALLLEVEL_DEFAULT, 
INSTALLSTATE_ABSENT.

Testing this with an installer created from two MSI installers, where the 
second install is guaranteed to fail shows that the previous install is rolled 
back.

Which of the two methods described would be seen as the choice fix?

I would like provide a patch for this fix, knowing that Burn is setupbld's 
replacement.  I think others could benefit from this.  I have been working with 
burn, but have not yet become comfortable with it enough to adopt it.  There 
are situations where I would like one installer, but have the chained packages 
show individually under Add/Remove programs.


Nik Twerdochlib
Software Developer


BOMGAR | The Box That's Revolutionizing Remote Support(tm)

One of the Fastest-Growing Technology Companies in America | Technology Fast 
500(tm)

What is Bomgar? Find out in 154 seconds<http://www.bomgar.com/overview>.
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
WiX-devs mailing list
WiX-devs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to