The rollback CA appears in #3 (during the rollback execution of the script) since I see the following in the log file:
Rollback: RollbackDriverManagerReinstall MSI (s) (F0:18) [17:03:27:438]: Executing op: ActionStart(Name=RollbackDriverManagerReinstall,,) MSI (s) (F0:18) [17:03:27:438]: Executing op: CustomActionRollback(Action=RollbackDriverManagerReinstall,ActionType=1282,Source=BinaryData,Target=rollbackex,) So it looks like all the 3 conditions are evaluating to true, but nothing happens. Is there any way to debug what the error really is? The Msi log shows nothing to help me besides those two lines above, then it moves to the next rollback action which is Removing shortcuts. Richard-45 wrote: > > > In article <1242169753994-2875388.p...@n2.nabble.com>, > achandrapano <achan...@panologic.com> writes: > >> So I added a rollback action to the old msi to reinstall my drivers right >> before "RemoveFiles". When I launched the new msi to upgrade, the >> rollback >> action never executed but the log file tells me it did. I am sort of >> confused by MSI log files. There are so many different calls to my >> rollback >> action that it is hard to know what is being hit or not. >> >> Are there any good ways to know if my binary rollback action was called >> successfully? I know for sure it is not getting into the binary at all >> since >> I have a messagebox pop up the minute it enters main(). > > It can be a little confusing with the log files with deferred actions. > > All rollback actions are deferred actions. > > With a deferred action, first it will be written to the execution > script. > > The execution script will be transmitted to the Windows Installer > service, which will then execute the script. During this phase the > actions written to the script are executed in the order they were > written to the script. This is the "install transaction". > > While executing the script, the installer builds up a list of rollback > actions that it has encountered. If one of the actions in the script > fails, then all the rollback actions that have been accumulated are > executed, in LIFO order, i.e. the last rollback action added to the > list of rollback actions is executed first and the first rollback > action added to the list is executed last. > > The rule for sequencing rollback CAs is to sequence them just before > the action that they "undo". Earlier you stated that you had a CA > that installs the driver. I'm guessing that you also have a CA that > removes the driver. Your rollback action that restores the driver on > a failed uninstall should be sequenced just before the CA that removes > the driver, because it "undoes" the removal of the driver by restoring > it. > > If you don't have a CA that removes the driver, that seems odd to me, > considering you have a CA that installs the driver. Windows Installer > won't know anything about how to remove this driver on an uninstall. > You may be thinking "well, I removed the files and nothing bad happened, > so the driver was removed", but Windows is probably still tracking a > phantom driver entry for a non-existent file. You can check this with > the Autoruns utility for Windows: > <http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx> > > Now, back to why your CA didn't run. To properly run your CA, these > things need to happen: > > 1. The condition for your rollback CA must evaluate to true. > 2. The rollback CA must be sequenced in the execute sequence before > the point of failure and between InstallInitialize and > InstallFinalize. > 3. The install must fail. A good way to force this for testing > rollback CAs is to put a type 19 CA at the end of the install > transaction, sequenced just before InstallFinalize. > > If all three of those conditions are true, then your rollback CA will > execute. > > A careful reviewing of the install log will show that there are > several phases of execution where your rollback CA will be mentioned: > > 1. preparing the execution script > 2. invoking the execution script > 3. performing a rollback of the execution script > >>From what you describe, I am guessing that your rollback CA appears in > phase 1 and possibly in phase 2, but not in phase 3. > >> Also are there better ways to sort through the msi logs? > > WiLogUtil from the Windows Installer SDK is a good utility for parsing > the log files into a more meaningful presentation. > -- > "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download > <http://www.xmission.com/~legalize/book/download/index.html> > > Legalize Adulthood! <http://blogs.xmission.com/legalize/> > > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK > i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > -- View this message in context: http://n2.nabble.com/Rollback-Custom-Action-during-Upgrade-tp2866142p2877231.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users