Specifica dell'ordine di registrazione automatica
Si noti che non è possibile specificare l'ordine in cui il programma di installazione registra o annulla la registrazione automatica delle DLL usando le azioni SelfRegModules e SelfUnRegModules . Queste azioni registrano tutti i moduli elencati nella tabella SelfReg. Il programma di installazione non registra automaticamente i file .exe.
Per specificare l'ordine in cui il programma di installazione registra o annulla la registrazione dei moduli, è necessario usare due azioni personalizzate per ogni modulo. Un'azione personalizzata per DllRegisterServer e un secondo per DllUnregisterServer. Queste azioni personalizzate devono quindi essere create nella tabella InstallExecuteSequence nel punto della sequenza in cui la DLL deve essere registrata o non registrata.
Nell'esempio seguente viene illustrato come creare il database per pianificare la registrazione automatica di una DLL in un determinato punto della sequenza di azioni.
Tabella file (parziale)
File | Componente_ | FileName | Sequenza |
---|---|---|---|
mydll | myComponent | Mydll.dll | 13 |
Tabella componente (parziale)
Componente | Componentid | Directory_ | KeyPath |
---|---|---|---|
myComponent | {a GUID} | myFolder | mydll |
Directory | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
myFolder | TARGETDIR | myFolder| Cartella personale |
Azione | Tipo | Source (Sorgente) | Destinazione |
---|---|---|---|
mydllREG | 3170 | myFolder | "[SystemFolder]msiexec" /y "[#mydll]" |
mydllUNREG | 3170 | myFolder | "[SystemFolder]msiexec" /z "[#mydll]" |
Tabella InstallExecuteSequence (parziale)
Azione | Condizione | Sequenza |
---|---|---|
SelfUnregModules | 2200 | |
mydllUNREG | $myComponent=2 | 2201 |
RemoveFiles | 3500 | |
InstallFiles | 4000 | |
SelfRegModules | 6500 | |
mydllREG | >$myComponent 2 | 6501 |