Especificación del orden de registro automático
Tenga en cuenta que no se puede especificar el orden en que el instalador registra, o anula el registro, los archivos DLL de registro automático mediante las acciones SelfUnRegModules y SelfUnRegModules. Estas acciones registran todos los módulos enumerados en la tabla SelfReg. El instalador no registra automáticamente archivos .exe.
Para especificar el orden en que el instalador registra o anula el registro de los módulos, debe usar dos acciones personalizadas para cada módulo. Una acción personalizada para DllRegisterServer y una segunda para DllUnregisterServer. Estas acciones personalizadas deben crearse en la tabla InstallExecuteSequence en el punto de la secuencia dondequiera que se registre o anule el registro del archivo DLL.
En el ejemplo siguiente se muestra cómo crear la base de datos para programar el registro automático de un archivo DLL en un punto determinado de la secuencia de acciones.
File (tabla) (parcial)
Archivo | Component_ | FileName | Secuencia |
---|---|---|---|
mydll | myComponent | Mydll.dll | 13 |
Component (tabla) (parcial)
Componente | ComponentId | Directory_ | KeyPath |
---|---|---|---|
myComponent | {a GUID} | myFolder | mydll |
Directorio | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
myFolder | TARGETDIR | myFolder| Mi carpeta |
Acción | Tipo | Source | Destino |
---|---|---|---|
mydllREG | 3170 | myFolder | "[SystemFolder]msiexec" /y "[#mydll]" |
mydllUNREG | 3170 | myFolder | "[SystemFolder]msiexec" /z "[#mydll]" |
InstallExecuteSequence (tabla) (parcial)
Acción | Condición | Secuencia |
---|---|---|
SelfUnregModules | 2200 | |
mydllUNREG | $myComponent=2 | 2201 |
RemoveFiles | 3500 | |
InstallFiles | 4000 | |
SelfRegModules | 6500 | |
mydllREG | $myComponent>2 | 6501 |