dB. wrote: > I still don't know how to launch deferred CAs (Anyone? Please?),
Deferred CAs run only from the installation script, so an MsiDoAction to invoke it has to run during the transaction. From the MsiDoAction doc: Actions that update the system, such as the InstallFiles <installfiles_action.htm> and WriteRegistryValues <writeregistryvalues_action.htm> actions, cannot be run by calling *MsiDoAction*. The exception to this rule is if *MsiDoAction* is called from a custom action that is scheduled in the InstallExecuteSequence table <installexecutesequence_table.htm> between the InstallInitialize <installinitialize_action.htm> and InstallFinalize actions <installfinalize_action.htm>. The WcaUtil function WcaDoDeferredAction uses MsiDoAction in the immediate phase to schedule the deferred CA; invoking it just writes an op-code to the installation script for when it's executed. Short answer: I don't see how you'll be able to use the actual MSI engine to run a deferred CA; a shim/mock is probably your best bet. As deferred CAs can't access the session handle, there's not much you'll have to mock. -- sig://boB http://joyofsetup.com/ ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users