Windows Installer osaa korjata MSI-paketissa KeyPath-arvolla määritellyt
käyttäjäkohtaiset komponentit (self-repair) ja siten luoda esimerkiksi
HKCU
-rekisterihaaran alle käyttäjälle tarvittavat asetukset. On
kuitenkin tilanteita, jolloin Windows Installer ei pääse käynnistymään
ja suorittamaan korjaavaa asennusta; esimerkiksi kun ohjelmaa ei
käynnistetä pikakuvakkeesta käynnistä-valikon kautta. Active Setup:in
avulla voidaan käyttäjäkohtaiset asetukset tehdä käyttäjän loginin
yhteydessä. Active Setup vertaa rekisteriavaimia
HKLM\Software\Microsoft\Active Setup\Installed Components\YOURKEY
jaHKCU\Software\Microsoft\Active Setup\Installed Components\YOURKEY
jossa YOURKEY
on mikä tahansa koneelle uniikki rekisteriavain,
esimerkiksi ohjelman GUID. HKLM
-haaran alle luodaan kaksi muuttujaa
(muuttujan tyyppi sulkeissa):
Version
(REG_SZ) jaStubPath
(REG_EXPAND_SZ)
Jos Active Setup ei löydä vastaavaa HKCU
-haaraa tai sieltä vastaavia
muuttujia tai siellä olevan muuttujan Version
arvo on pienempi kuin
HKLM
-haaran alla, ajaa Active Setup StubPath
:issa määritellyn
komentorivin ja lisää HKCU
-haaraan samat arvot kuin HKLM
-haarassa.
Kun rekisteriavaimeen HKLM\Software\Microsoft\Active Setup\Installed Components\MyApp
lisätään arvot:
Muuttuja | Tyyppi | Arvo |
---|---|---|
Version | REG_SZ | 1,0,0,0 |
StubPath | REG_EXPAND_SZ | ”%programfiles%\MyApp\MyApp.exe” -option |
niin loginin yhteydessä ajetaan MyApp.exe
vivulla -option
niille
käyttäjille, joilta vastaavat arvot puuttuvat HKCU
-haaran alta. (StubPath
:in
tyypiksi riittää REG_SZ
, jos Arvo-kentässä ei käytetä ympäristömuuttujia,
kuten %programfiles%.)
Kasvattamalla myöhemmin muuttujan Version
arvoksi esimerkiksi 1,1,3,0
tai 2,0,0,0
, saadaan Active Setup jälleen suorittamaan StubPath
:issa
määritelty komento. Huom! Jos muuttuja Version
on määritelty MSI-paketissa
ja on lisäksi komponentin KeyPath-arvona, sen muuttaminen suoraan rekisteristä ei
välttämättä ole pysyvä muutos (self-repair) eikä siksi suositeltavaa.
Huom! Active Setup ei ole Microsoftin virallisesti tukema.