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

Reply via email to