xedoc
nicht mehr wegzudenken
Hallo zusammen,
damit ich iTunes vernünftig als Paket verteilen kann möchte ich es vorher sauber entfernen. Dazu verwende ich den unten stehenden AutoIT-Code. Der läuft einwandfrei unter Windows 7 (x86/x64) durch. Unter XP läuft er die Schleife aber nur einmal durch und springt dann komplett aus dem Skript. Hat irgendjemand eine Ahnung woran das liegen könnte?
Unter uninstall_iTunes_64 wird nur ein anderer Registrypfad verwendet.
(Skript kann nat. auch verwendet werden um anderen Programme zu entfernen)
damit ich iTunes vernünftig als Paket verteilen kann möchte ich es vorher sauber entfernen. Dazu verwende ich den unten stehenden AutoIT-Code. Der läuft einwandfrei unter Windows 7 (x86/x64) durch. Unter XP läuft er die Schleife aber nur einmal durch und springt dann komplett aus dem Skript. Hat irgendjemand eine Ahnung woran das liegen könnte?
Unter uninstall_iTunes_64 wird nur ein anderer Registrypfad verwendet.
(Skript kann nat. auch verwendet werden um anderen Programme zu entfernen)
Code:
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Dim $SupportedApps = "Apple Application Support,Apple Mobile Device Support,Bonjour,iTunes"
Dim $MyApps = StringSplit($SupportedApps, ",")
Dim $InstalledAppsCount = 1
Dim $Found = 0
While 1
$SubKey = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", $InstalledAppsCount)
If @error Then ExitLoop
$DisplayName = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $SubKey, "DisplayName")
For $i = 1 To $MyApps[0]
If StringInStr($DisplayName, $MyApps[$i]) Then
$Found += 1
RunWait(@ComSpec & ' /c start /wait MsiExec.exe /X' & $SubKey & ' /qn /norestart', 'C:', @SW_HIDE)
[B][SIZE=4] ;~ Unter XP läuft er hier einmal durch und springt dann raus.[/SIZE][/B]
EndIf
Next
$InstalledAppsCount += 1
WEnd
If @OSArch = "X64" Then
RunWait(@ScriptDir & "\uninstall_iTunes_64.exe")
EndIf