Spécification de l’ordre d’auto-inscription
Notez que vous ne pouvez pas spécifier l’ordre dans lequel le programme d’installation inscrit ou annule l’inscription automatique des DLL à l’aide des actions SelfRegModules et SelfUnRegModules. Ces actions inscrivent tous les modules répertoriés dans la table SelfReg. Le programme d’installation n’inscrit pas automatiquement .exe fichiers.
Pour spécifier l’ordre dans lequel le programme d’installation inscrit ou annule l’inscription des modules, vous devez utiliser deux actions personnalisées pour chaque module. Une action personnalisée pour DllRegisterServer et une seconde pour DllUnregisterServer. Ces actions personnalisées doivent ensuite être créées dans la table InstallExecuteSequence au point de la séquence où la DLL doit être inscrite ou désinscrire.
L’exemple suivant montre comment créer la base de données pour planifier l’auto-inscription d’une DLL à un point particulier de la séquence d’actions.
Table File (partielle)
Fichier | Component_ | FileName | Séquence |
---|---|---|---|
mydll | myComponent | Mydll.dll | 13 |
Table Component (partielle)
Composant | ComponentId | Directory_ | KeyPath |
---|---|---|---|
myComponent | {un GUID} | myFolder | mydll |
Répertoire | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
myFolder | TARGETDIR | myFolder| Mon dossier |
Action | Type | Source | Cible |
---|---|---|---|
mydllREG | 3170 | myFolder | "[SystemFolder]msiexec" /y "[#mydll]" |
mydllUNREG | 3170 | myFolder | "[SystemFolder]msiexec" /z "[#mydll]" |
Table InstallExecuteSequence (partielle)
Action | Condition | Séquence |
---|---|---|
SelfUnregModules | 2 200 | |
mydllUNREG | $myComponent=2 | 2201 |
RemoveFiles | 3 500 | |
InstallFiles | 4000 | |
SelfRegModules | 6500 | |
mydllREG | $myComponent>2 | 6501 |