Entries tagged as autoit

Gute Zwischenlösung: nLite und AutoIt

Bis der SCCM in den produktiven Einsatz geht, gilt es, ein gutes Dutzend PCs neu zu installieren.
Da wir jedoch nicht jeden einzelnen PCs stundenlang händisch bespielen wollen, bastelten wir uns auf die Schnelle eine recht elegante Zwischenlösung.

Zum Einsatz kamen hierbei nLite und AutoIT.

Zunächst wurde ein bootfähiges Windows XP-Image inkl. SP3 und aller benötigten Einstellungen (Stichwort: Unattended.txt) erstellt. Als "RunOnce"-Applikation, die nach der vollständigen automatischen Windows-Installation ausgeführt werden soll, kommt dann das zuvor mit AutoIT generierte Script zum Einsatz.

Mithilfe AutoITs und dem integrierten Recorder wurden auf einem Test-PC zunächst alle später zu installierenden Anwendungen installiert und jeder Schritt aufgezeichnet. Dies alles wurde in einem Script zusammengefasst, kompiliert und kam zusammen mit dem Windows-Image sowie den zu installierenden Applikationen auf eine DVD.

Mit dieser lassen sich nun die PCs sauber, einheitlich und ohne viel Zutuns innerhalb kurzer Zeit installieren. :-)

Automatische Programminstallation mit Adminrechten

Weil ich es leid war, ständig durch's Haus laufen zu müssen, um den Flashplayer zu aktualisieren, habe ich mir eben ein Script erstellt.
NetInstall ist abgestellt und der SCCM läuft noch nicht. Also müssen die Installationen derzeit noch zu Fuß durchgeführt werden.
Um dies zu vereinfachen, schnappte ich mir AutoIt, mit dem ich bereits zuvor gute Erfahrungen machte, und schrieb mir ein Script, das es den Usern ermöglicht, den Flashplayer - mit Adminrechten - selbst zu installieren.

Das ganze sieht dann so aus (falls es auch mal einer braucht):

QUOTE:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=L:\Multimedia-Anwendungen\Adobe Flash-Player\AutoIt_gescriptet\flashplayer-icon.ico
#AutoIt3Wrapper_outfile=L:\Multimedia-Anwendungen\Adobe Flash-Player\AutoIt_gescriptet\Installationsdatei.exe
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; Installationsscript für den Adobe Flashplayer
; ----------------------------------------------------------------------------
;
; AutoIt Version: 3.3.0.0
; Autor: Mr.Nerd
; 25.03.2009
;
; ----------------------------------------------------------------------------


Local $UserName = "sa_TestAccount"
Local $Password = "Testpasswort"
Local $ScriptDir = "C:\Dokumente und Einstellungen\" & @UserName & "\Installationsdateien\"
Local $Program = $ScriptDir & "flashplayer.exe"
Local $workingdir = "\\MeinServer\Public\Install"

If FileExists("\\MeinServer\Public\Install\flashplayer.exe") Then
DirCreate($ScriptDir)
MsgBox(0, "Flashplayer-Installation", "Die Installationsdateien werden nun kopiert und anschließend ausgeführt.")
FileCopy("\\MeinServer\Public\Install\*.*", $ScriptDir, 9)
RunAs($UserName, "MeineDomain", $Password, 0, $Program, $workingdir)

;Fenster schließen
winwait("Adobe Flash Player ActiveX Installation: Fertig")
ControlShow ("Adobe Flash Player ActiveX Installation: Fertig", "&Beenden","Button2")
ControlClick ("Adobe Flash Player ActiveX Installation: Fertig", "&Beenden","Button2")

MsgBox(0,"Installationsabschluss", "Die Installation wurde beendet und alle lokalen, temporären Dateien gelöscht.")
DirRemove($ScriptDir, 1)

FileChangeDir("\\MeinServer1\Public\")
DirRemove($workingdir,1)
Else
MsgBox(0,"Fehler !", "Die Installation kann nicht ausgeführt werden, weil ein Teil der Installationsdateien fehlt. Bitte wenden Sie sich an den Support.")
EndIf

Exit


Hierbei passiert also folgendes:

1. Die Flashplayer.exe wird zusammen mit der Installationsdatei.exe (beinhaltet kompiliert obiges Script) in das öffentliche Verzeichnis ..\Public kopiert.
2. Nach dem Ausführen der Installationsdatei.exe durch den User wird unter C:\Dokumente und Einstellungen\$Benutzername ein Ordner angelegt, in den die beiden Dateien kopiert werden.
3. Aus dem angelegten Ordner wird die Flashplayer.exe mit den Adminrechten des sa_TestAccounts aufgerufen und ausgeführt.
4. Nach Abschluss den Installation "drückt" das Script selbständig den "OK"-Button des Dialogfensters des Flashplayer-Installers und löscht das lokal angelegte Verzeichnis mit den Dateien.
5. Zum Abschluss wird das Verzeichnis im öffentlichen Ordner (weitestgehend) geleert.

Das sich das Script während seiner Laufzeit nicht selbst löschen kann, verbleibt die Installationsdatei.exe im öffentlichen Verzeichnis. Führt man diese erneut auf, erhält man (nach Prüfung durch das Script) eine Meldung, dass die Installation nicht durchgeführt werden kann, weil Dateien - in diesem Fall die zuvor gelöschte Flashplayer.exe - fehlen.

Das war's. Jetzt brauche ich den Usern nur noch die Dateien zur Verfügung stellen und brauche nicht mehr durch's Haus zu laufen.
Wenn erstmal der SCCM am Start ist, hat sich auch das Script erledigt, aber bis dahin ist's eine recht komfortable Lösung. :-)

Page 1 of 1, totaling 2 entries