Specifying the Order of Self Registration

Note that you cannot specify the order in which the installer registers or unregisters self-registering DLLs by using the SelfRegModules and SelfUnRegModules actions. These actions register all the modules listed in the SelfReg table. The installer does not self-register .exe files.

To specify the order in which the installer registers or unregisters modules, you must use two custom actions for each module. One custom action for DllRegisterServer and a second for DllUnregisterServer. These custom actions must then be authored in the InstallExecuteSequence table at the point in the sequence wherever the DLL is to be registered or unregistered.

The following example illustrates how to author the database to schedule the self-registration of a DLL at a particular point in the action sequence.

File Table (partial)

FileComponent_FileNameSequence
mydllmyComponentMydll.dll13

 

Component Table (partial)

ComponentComponentIdDirectory_KeyPath
myComponent{a GUID}myFoldermydll

 

Directory Table

DirectoryDirectory_ParentDefaultDir
TARGETDIRSourceDir
myFolderTARGETDIRmyFolder|My Folder

 

CustomAction Table

ActionTypeSourceTarget
mydllREG3170myFolder"[SystemFolder]msiexec" /y "[#mydll]"
mydllUNREG3170myFolder"[SystemFolder]msiexec" /z "[#mydll]"

 

InstallExecuteSequence Table (partial)

ActionConditionSequence
SelfUnregModules2200
mydllUNREG$myComponent=22201
RemoveFiles3500
InstallFiles4000
SelfRegModules6500
mydllREG$myComponent>26501

 

 

 

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.