Thanks Rob. We did notice this started happening after adding a new managed custom action. The custom action does not need a rollback so we didn't schedule one. Does this seem reasonable? Should we always schedule a rollback?
| -----Original Message----- | From: Rob Mensching [mailto:r...@robmensching.com] | Sent: Saturday, July 31, 2010 2:51 PM | To: General discussion for Windows Installer XML toolset. | Subject: Re: [WiX-users] Rollback script is wrong | | Sounds like you've run into a Windows Installer bug. I've never heard of | anything like that but if it's intermittent who knows how often it happens | in the wild. | | On Thu, Jul 29, 2010 at 5:41 PM, Bassam Tabbara | <bassamtabb...@gmail.com>wrote: | | > Hello, | > | > | > | > We are seeing a weird case where the rollback sequence is incorrect. Our | > product does a major upgrade on every install and schedules | > RemoveExistingProduct before InstallInitialize. For most of our customers | > this works really well and we see the following during an upgrade. We've | > had | > a number of cases where the install of the new version fails due to an | > error | > starting a windows service. The following sequence happens as a result: | > | > | > | > . RemoveExisitingProduct runs and removes the old version. | > | > . Install of the new version fails (InstallFinalize fails with | > return value 3) | > | > . Rollback script runs and removes the new version, then install | > the | > old version. | > | > | > | > This is exactly what we expect. | > | > | > | > We've seen a couple of incidents where the rollback script is not doing the | > right thing. Here is a snippet of the setup log in such cases: | > | > | > | > MSI (s) (DC:60) [15:28:36:334]: Executing op: | > ServiceControl(,Name=foo,Action=1,Wait=1,) | > | > MSI (s) (C0:74) [19:07:01:595]: Executing op: | > ServiceControl(,Name=bar,Action=1,Wait=1,) | > | > MSI (s) (C0:74) [19:11:05:415]: Product: Foo Product -- Error 1920. Service | > 'Bar' (bar) failed to start. Verify that you have sufficient privileges to | > start system services. | > | > | > | > MSI (s) (C0:74) [19:11:05:421]: User policy value 'DisableRollback' is 0 | > | > MSI (s) (C0:74) [19:11:05:421]: Machine policy value 'DisableRollback' is 0 | > | > Action ended 19:11:05: InstallFinalize. Return value 3. | > | > MSI (s) (C0:74) [19:11:05:424]: Executing op: | > | > | Header(Signature=1397708873,Version=400,Timestamp=1022007512,LangId= | 1033,Pla | > | > | tform=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAt | trib | > utes=1) | > | > MSI (s) (C0:74) [19:11:05:425]: Executing op: | > DialogInfo(Type=0,Argument=1033) | > | > MSI (s) (C0:74) [19:11:05:425]: Executing op: | > DialogInfo(Type=1,Argument=Foo | > Product) | > | > MSI (s) (C0:74) [19:11:05:426]: Executing op: | > RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back | > | > | action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescri | ptio | > n=Removing backup files,CleanupTemplate=File: [1]) | > | > MSI (s) (C0:74) [19:11:05:426]: Executing op: | > RegisterBackupFile(File=C:\Config.Msi\17181ca6.rbf) | > | > MSI (s) (C0:74) [19:11:05:426]: Executing op: | > RegisterBackupFile(File=C:\Config.Msi\17181ca7.rbf) | > | > . | > | > | > | > Note that InstallFinalize failed with return value 3, however when the | > rollback script runs it does NOT call ServiceControl with Action=2 to stop | > the 'bar' service. The end result is rollback fails and the product is | > completely hosed. Here is a snippet of the log with the correct rollback | > script: | > | > | > | > MSI (s) (DC:60) [15:28:36:334]: Executing op: | > ServiceControl(,Name=foo,Action=1,Wait=1,) | > | > MSI (s) (C0:74) [19:07:01:595]: Executing op: | > ServiceControl(,Name=bar,Action=1,Wait=1,) | > | > MSI (s) (C0:74) [19:11:05:415]: Product: Foo Product -- Error 1920. Service | > 'Bar' (bar) failed to start. Verify that you have sufficient privileges to | > start system services. | > | > | > | > MSI (s) (DC:60) [15:29:11:600]: User policy value 'DisableRollback' is 0 | > MSI (s) (DC:60) [15:29:11:600]: Machine policy value 'DisableRollback' is 0 | > Action ended 15:29:11: InstallFinalize. Return value 3. | > MSI (s) (DC:60) [15:29:11:601]: Executing op: | > | > | Header(Signature=1397708873,Version=500,Timestamp=1023245202,LangId= | 1033,Pla | > | > | tform=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAt | trib | > utes=1) | > MSI (s) (DC:60) [15:29:11:601]: Executing op: | > DialogInfo(Type=0,Argument=1033) | > MSI (s) (DC:60) [15:29:11:602]: Executing op: | > DialogInfo(Type=1,Argument=Foo | > Product) | > MSI (s) (DC:60) [15:29:11:602]: Executing op: | > RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back | > | > | action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescri | ptio | > n=Removing backup files,CleanupTemplate=File: [1]) | > MSI (s) (DC:60) [15:29:11:602]: Executing op: | > ActionStart(Name=StartServices,Description=Starting | > services,Template=Service: [1]) | > MSI (s) (DC:60) [15:29:11:602]: Executing op: | > | > ProductInfo(ProductKey={F2E168F5-DF3E-40B0-98F8- | D541035AC726},ProductName=Sy | > mform | > | > | Node,PackageName=SymformNode.msi,Language=1033,Version=33555244, | Assignment=1 | > | > ,ObsoleteArg=0,ProductIcon=MainIcon.ico,,PackageCode={C892451A- | EDAF-40CF-B24 | > | > 0- | 17CF1D53E4D2},,,InstanceType=0,LUASetting=0,RemoteURTInstalls=0,Produ | ctDep | > loymentFlags=3) | > MSI (s) (DC:60) [15:29:11:603]: Executing op: | > ServiceControl(,Name=foo,Action=2,Wait=1,) | > | > | > | > Note that the 'foo' service is stopped in the rollback script. | > | > | > | > Any ideas what might be causing this? We've tried this on all supported | > platforms and with different versions of MSI and cannot repro. It only | > happens on a small number of customer's machines. | > | > | > | > Thanks! | > | > Bassam | > | > | > | > | > | > | > ---------------------------------------------------------------------------- -- | > The Palm PDK Hot Apps Program offers developers who use the | > Plug-In Development Kit to bring their C/C++ apps to Palm for a share | > of $1 Million in cash or HP Products. Visit us here for more details: | > http://p.sf.net/sfu/dev2dev-palm | > _______________________________________________ | > WiX-users mailing list | > WiX-users@lists.sourceforge.net | > https://lists.sourceforge.net/lists/listinfo/wix-users | > | > | | | -- | virtually, Rob Mensching - http://RobMensching.com LLC | ---------------------------------------------------------------------------- -- | The Palm PDK Hot Apps Program offers developers who use the | Plug-In Development Kit to bring their C/C++ apps to Palm for a share | of $1 Million in cash or HP Products. Visit us here for more details: | http://p.sf.net/sfu/dev2dev-palm | _______________________________________________ | WiX-users mailing list | WiX-users@lists.sourceforge.net | https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ The Palm PDK Hot Apps Program offers developers who use the Plug-In Development Kit to bring their C/C++ apps to Palm for a share of $1 Million in cash or HP Products. Visit us here for more details: http://p.sf.net/sfu/dev2dev-palm _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users