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,ScriptAttrib > 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,CleanupDescriptio > 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,ScriptAttrib > 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,CleanupDescriptio > 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,ProductDep > 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