Spécification de l’ordre d’inscription automatique

Notez que vous ne pouvez pas spécifier l’ordre dans lequel le programme d’installation enregistre ou annule l’enregistrement automatique des dll à l’aide des actions SelfRegModules et SelfUnRegModules . Ces actions inscrivent tous les modules listés dans la table Selfreg. Le programme d’installation ne s’inscrit pas automatiquement .exe fichiers.

Pour spécifier l’ordre dans lequel le programme d’installation inscrit ou désinscrit 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 l’ordre où la dll doit être inscrite ou désinscrite.

L’exemple suivant montre comment créer la base de données pour planifier l’inscription automatique d’une DLL à un point particulier dans la séquence d’action.

Table de fichiers (partielle)

Fichier Composant_ FileName Séquence
mydll myComponent Mydll.dll 13

Table des composants (partielle)

Composant ComponentId Répertoire_ KeyPath
myComponent {GUID} mondossier mydll

Table de répertoire

Répertoire Répertoire _ parent DefaultDir
TARGETDIR SourceDir
mondossier TARGETDIR mondossier | mon dossier

Table CustomAction

Action Type Source Cible
mydllREG 3170 mondossier « [ SystemFolder ] msiexec »/y « [ # mydll ] »
mydllUNREG 3170 mondossier « [ 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