Since there were no takers on this one the first time around, let me simplify the question:
1. How can I override parts of a wixlib included by a Wix extension, or do I have to rebuild the extension? Specifically, I want to use the DIFxAppExtension and its difxapp*.wixlib, but I want to modify several of the CustomAction attributes. I tried simply duplicating the entries with the modified attribute in my wxs, but I get "LGHT0091 : Duplicate symbol 'CustomAction:MsiProcessDrivers' found." It looks like I can build my own wixlib (duplicating the source from the extension's wixlib) and use the rest of the extension as is. Or is there another way? More details on what I'm trying to do are given below, but I'd be happy with an answer to just this specific question. --Quinton -----Original Message----- From: Quinton Tormanen [mailto:quint...@deltamotion.com] Sent: Monday, December 06, 2010 9:41 AM To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] Ignoring DIFxApp Return Codes Related to the stability problems with DIFxApp (see http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg42659.htm l for example), I had an idea on how to bypass it's finickiness. To summarize briefly, the problem that DIFxApp gets into is that in some cases the registry entries it relies on get messed up (I was able to reproduce this by having a failed major update (caused by a goof on my part) and after the rollback, the driver store registry entries were not restored). Once in this state, attempts to uninstall the application fails, as do major updates (since they do an uninstall as part of the update). (Attempts for help from the DIFxApp team have got me nowhere, which is why I'm now looking at working around instead of fixing.) What I was considering was setting the @Return attribute for the DIFxAppExtension's CAs to "ignore" since I'm more concerned about getting my application updated successfully than DIFxApp giving up prematurely on registry entries that it messed up itself. That is, it appears to work to force the uninstall (using the msicuu2.exe util) and then reinstall--the drivers are made available correctly--so I am willing to ignore the error it has when uninstalling. So, here are my specific questions: 1. Is there a way to override the custom actions included by the DIFxAppExtension without modifying the extension? For example, the wxs from the DIFxAppExtension source, includes the following lines: <CustomAction Id='MsiProcessDrivers' BinaryKey='DIFxApp.dll' DllEntry='ProcessDriverPackages' SuppressModularization='yes' Execute='immediate' /> <CustomAction Id='MsiInstallDrivers' BinaryKey='DIFxAppA.dll' DllEntry='InstallDriverPackages' SuppressModularization='yes' Execute='deferred' Impersonate='no' /> <CustomAction Id='MsiUninstallDrivers' BinaryKey='DIFxAppA.dll' DllEntry='UninstallDriverPackages' SuppressModularization='yes' Execute='deferred' Impersonate='no' /> <CustomAction Id='MsiRollbackInstall' BinaryKey='DIFxAppA.dll' DllEntry='RollbackInstall' SuppressModularization='yes' Execute='rollback' Impersonate='no' /> <CustomAction Id='MsiCleanupOnSuccess' BinaryKey='DIFxApp.dll' DllEntry='CleanupOnSuccess' SuppressModularization='yes' Execute='immediate' /> I'd like to replace some of them with CustomActions that have @Return="ignore" but are otherwise equivalent. Can I just add these same items to my project's WXS and they will automatically override the ones in the DIFxAppExtension? Obviously, I could skip the extension and just do it myself--which is what I did before the extension was added in v3.0--but it'd be easier to use the extension. 2. Is there as way to ignore the return code only on uninstall? Notice that I can't change the CA IDs since they call each other, which seems to rule out making two CAs--one with and one without--and giving them different conditions. 3. What are some reasons why I shouldn't do this hack? 4. Does anyone (particularly at MSFT) have an inside track to getting the DIFxApp team to fix this long-standing issue? It seems to me that the uninstall should gracefully handle mangled driver store records (cleaning them up), and rollbacks on major updates shouldn't mess up the install. Quinton Tormanen Software Engineer Delta Computer Systems, Inc. http://www.deltamotion.com ------------------------------------------------------------------------------ This SF Dev2Dev email is sponsored by: WikiLeaks The End of the Free Internet http://p.sf.net/sfu/therealnews-com _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users