Unattended Windows :: Pokročilý :: Metody instalace :: RunOnceEx
RunOnceEx

V první řadě odstraňte všechny [GuiRunOnce] položky z winnt.sif. Pomocí RunOnceEx můžete dosáhnout stejného výsledku ale zpracování obou metod probíhá ve stejném čase.

RunOnceEx pracuje tak, že před prvním přihlášením spustí aplikace jejichž název s cestou jsou uvedeny ve speciálním klíči registru. Nejdříve je tedy třeba do registru zapsat během instalace názvy souborů které budeme chtít automaticky spustit. K tomu nám pomůže cmdlines.txt. Vytvořte soubor cmdlines.txt a zapište do něj tento text:

[COMMANDS] "RunOnceEx.cmd"

Soubor uložte do distribuční složky $OEM$.

Tvorba dávkového souboru RunOnceEx.cmd
Tento soubor zajistí přidání položek do registru pomocí aplikace REG.EXE. Použití REG.EXE je výhodné v tom že umožňuje používat systémové proměnné například %systemdrive%. Metoda využívající *.reg soubory vyžaduje zápis absolutní cesty.

Ukázka použítí REG.EXE:

cmdow @ /HID @echo off SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx REG ADD %KEY% /V TITLE /D "Installing Applications" /f REG ADD %KEY%\005 /VE /D "Adobe Reader 6" /f REG ADD %KEY%\005 /V 1 /D "%systemdrive%\install\AdobeReader6\AR6.msi /qn" /f REG ADD %KEY%\010 /VE /D "Alcohol 120" /f REG ADD %KEY%\010 /V 1 /D "%systemdrive%\install\alcohol\setup.exe /qn" /f REG ADD %KEY%\010 /V 2 /D "REGEDIT /S %systemdrive%\install\alcohol\register.reg" /f REG ADD %KEY%\015 /VE /D "Diskeeper 8" /f REG ADD %KEY%\015 /V 1 /D "%systemdrive%\install\DiskeeperPro_8.0.459.exe /s /v/qn" /f REG ADD %KEY%\050 /VE /D "Importing Registry Tweaks" /f REG ADD %KEY%\050 /V 1 /D "REGEDIT /S %systemdrive%\install\regtweaks.reg" /f REG ADD %KEY%\055 /VE /D "Cleaning Up and Rebooting" /f REG ADD %KEY%\055 /V 1 /D "%systemdrive%\install\cleanup.cmd" /f EXIT

Soubor uložte jako RunOnceEx.cmd do složky $OEM$.

Číslo za %KEY%\ určuje v jakém pořadí se budou položky zpracovávat. Rozdíl 5 je pro případ, že by bylo nutné nějakou aplikaci nainstalovat třeba mezi instalací Adobe Readeru a Alcoholem 120. Pak stačí jen vložit další řádky s %KEY%\006 nebo 007...009.

Vysvětlení skriptu
SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

Tento příkaz vytvoří proměnou %KEY% která obsahuje text "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx". Nyní tuto cestu v registru nemusíte vypisovat u každé položky ale použijete proměnnou %KEY%.

REG ADD %KEY% /V TITLE /D "Instalace aplikací" /f

Tímto řádkem nastavíte záhlaví okna RunOnceEx.

REG ADD %KEY%\010 /VE /D "Alcohol 120" /f

Tímto nastavíte název aplikace který se zobrazi v RunOnceEx okně.

REG ADD %KEY%\010 /V 1 /D "%systemdrive%\install\alcohol\setup.exe /qn" /f REG ADD %KEY%\010 /V 2 /D "REGEDIT /S %systemdrive%\install\alcohol\register.reg

V tomto případě se pro Alcohol 120 spustí 2 aplikace. První je instalátor setup.exe a po jeho ukončení REGEDIT, který do registru importuje data ze souboru %systemdrive%\install\alcohol\register.reg. Úlohy jsou spouštěny v zadaném pořadí. Toto pořadí určuje parametr /V, takže nejprve soubor s parametrem /V 1 potom soubor s parametrem /V 2 atd.

Pokud nepotřebujete nastavit žádné speciální chování, tak můžete okopírovat tento příklad jen s tím, že změníte číslování a řetězce mezi uvozovkami. Pokud chcete znát všechny parametry, napište do příkazové řádky REG ADD /?

cmdow.exe
Co je cmdow @ /HID? Cmdow je utilita která dokáže skrýt okno příkazové řádky. Můžete si ji stáhnout na http://www.commandline.co.uk/cmdow/index.html. Umístěte ji do složky $OEM$\$$\System32, tím zajístíte, že může být spuštěna odkudkoliv i bez zadání cesty.

Jak vložit do registru text s uvozovkami
Pokud chcete do registru vložit text s uvozovkami tak před každou takovou uvozovkou napište zpětné lomítko (\):

%KEY%\005 /V 1 /D "\"%systemdrive%\install\AdobeReader6\Adobe Reader 6.msi\" /qn" /f

To může být potřeba v případě, že v názvu souboru je mezera.

Cleanup.cmd
Tvorba a volání tohoto dávkového souboru je volitelná. Používá se pro úklid instalačních souborů již nainstalovaných aplikací, mazání zbytečných souborů atp.

Následující příklad ukazuje jak odstranit wallpapery, spořiče, zástupce z nabídky Start, instalační soubory a restartuje počítač.

cmdow @ /HID shutdown.exe -r -f -t 60 -c "Windows XP will now restart in 1 minute..." net user aspnet /delete DEL "%systemroot%\*.bmp" DEL "%systemroot%\Web\Wallpaper\*.jpg" DEL "%systemroot%\system32\dllcache\*.scr" DEL "%systemroot%\system32\*.scr" DEL "%AllUsersProfile%\Start Menu\Windows Update.lnk" DEL "%AllUsersProfile%\Start Menu\Set Program Access and Defaults.lnk" DEL "%AllUsersProfile%\Start Menu\Windows Catalog.lnk" RD /S /Q %systemdrive%\drivers\ RD /S /Q %systemdrive%\install\ EXIT

Shrnutí
Ve fázi T-12 instalátor vykoná skript uložený v souboru cmdlist.txt. Ten akorát spouští dávkový soubor RunOnceEx.cmd, který do registru zapíše jaké aplikace se mají spustit po prvním přihlášení. Po prvním přihlášení systém načte z registru informace o těchto souborech a začne je postupně v předem daném pořadí spouštět.

RunOnceEx.cmd můžete vyzkoušet tím, že ho spustíte a pak se podíváte do registru na klíč HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\ jestli je vše jak má.

Pokud chcete projít celý proces RunOnceEx, tak napište do příkazové řádky:

rundll32.exe iernonce.dll,RunOnceExProcess


^ Nahoru | Verze pro tisk