Hallo zusammen
Ich will ein Programm via Softwareverteilung auf mehreren Client-PCs installieren, welches erfordert das gewisse Programme geschlossen werden.
Der User muss aber die Möglichkeit haben, auf die Messagebox mit Ok oder Cancel zu reagieren. Bei Ok muss geprüft werden, ob die Prozesse zu sind, falls ja, darf es im Script weiter gehen, falls nicht, die Messagebox erneut eingeblendet werden.
Falls Cancel gedrückt wird, müsste die exe mit einem Errorlevel enden.
Für einen einzelnen Prozess sähe das ca. so aus:
While ProcessExists($ProcessToCheck)
$Msgbox = MsgBox(8192+65,$Titel,"Please close " & $ProcessToCheck & " to install an update or new version of " & $AppToInstall )
If $Msgbox = 2 Then
Exit(1)
Endif
WEnd
oder mit mehreren könnte es vielleicht so aussehen:
[autoit]
$AppToInstall="Office"
Global $abfrage = 0
While 1
$list = ProcessList()
For $i = 1 To $list[0][0]
Switch $list[$i][0]
Case "Winword.exe", "Outlook.exe", "Excel.exe", "Powerpnt.exe", "MSACCESS.EXE", "acrobat.exe", "AcroRd32.exe", "iexplore.exe"
Sleep(1000)
$Msgbox = MsgBox(8192+65,"Installer","Please close " & $list[$i][0] & " to install an update or new version of " & $AppToInstall )
If $Msgbox = 2 Then
Exit(1)
Endif
$abfrage = $abfrage + 1
EndSwitch
Next
Sleep(1000)
WEnd
Nun zu meinen Problemen / Fragen:
z.B. der Prozess AcroRd32.exe ist nicht selbsterklärend für den User - wie könnte man erreichen, dass der User aufgefordert wird, Acrobat Reader zu schliessen, und nicht den Namen des laufenden Prozesses?
Ich hoffe ihr schubst mich von der Leitung, auf der ich stehe