VBS Scipt in AutoIT Scipt umwandeln

  • Hallo zusammen,

    habe ein VBS Script gefunden, welches mein Problem bei einer Installation löst.
    Da ich für die Installation AutoIT benutze, würde ich gerne das VBS Script da einbauen.

    Wäre nett, wenn Ihr mir dabei helfen bzw. die passenden AutoIT Befehle nennen könntet.

    Danke

    VBS Script:

    Spoiler anzeigen


    Dim WMIService, WshShell, DComApps, DComApp

    'Create WMI object
    Set WMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    'Create shell object
    Set WshShell = CreateObject("WScript.Shell")

    'Query all DCOM object on the machine that are Installshield related and set to run as interactive user
    Set DComApps = WMIService.ExecQuery("Select * from Win32_DComApplicationSetting where Caption Like '%InstallShield%' and RunAsUser='Interactive User'")

    'Delete the registry key that set the run as for the DCOM application (DCOM guid is used from the above query to locate the registry)
    For Each DComApp In DComApps
    WshShell.RegDelete "HKEY_CLASSES_ROOT\AppID\" & DComApp.AppID & "\RunAs"
    Next

    'Query all DCOM object on the machine that are Installshield related and set to run as interactive user
    Set DComApps = WMIService.ExecQuery("Select * from Win32_DComApplicationSetting where Caption Like '%IDriverT%' and RunAsUser='Interactive User'")

    'Delete the registry key that set the run as for the DCOM application (DCOM guid is used from the above query to locate the registry)
    For Each DComApp In DComApps
    WshShell.RegDelete "HKEY_CLASSES_ROOT\AppID\" & DComApp.AppID & "\RunAs"
    Next

    Mein Scipt:

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=GroupWise-703-Update.exe
    #AutoIt3Wrapper_Compression=4
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;
    ; AutoIt Version: 3.2.10
    ; Platform: WinXP
    ; Author: iwu74
    ;
    ; Script Function:
    ; GrouWise 7.03 Update
    ;

    [/autoit] [autoit][/autoit] [autoit]

    AutoItSetOption("TrayIconHide", 1) ; versteckt das Icon in der Trayleiste, somit keine Funktionionen über Trayicon (beenden etc.)

    [/autoit] [autoit][/autoit] [autoit]

    #region - Global
    Global $Paused
    $ProjectName = "GroupWise 7.03HP1" ; Name des Programms. Wird an alle Fenster weiter gegeben.
    $ProjectArt = " Update"
    $ProjectPfad = ""
    $SciptPfad = "C:\Temp\Install\01-Scipt"
    $Version = "0.4"
    $Erstellt = "Juni 2008"
    $Erteller = "wu2"
    $Abteilung = "IL"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;~ ****** V7.01 ******
    Local $var01 = ("C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey1 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{760B6267-0091-4B8F-A66A-C01E37E5F539}"
    Local $RegName1 = "InstallSource"

    [/autoit] [autoit][/autoit] [autoit]

    Local $var02 = ("n;1;C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey2 = "HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\7626B0671900f8b46aa60ce1735e5f93\SourceList"
    Local $RegName2 = "LastUsedSource"

    [/autoit] [autoit][/autoit] [autoit]

    Local $var03 = ("C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey3 = "HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\7626B0671900f8b46aa60ce1735e5f93\SourceList\Net"
    Local $RegName3 = "1"

    [/autoit] [autoit][/autoit] [autoit]

    ;~ ****** V7.02 ******
    Local $var04 = ("C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey4 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{A55A86B8-E8B1-45F5-8827-0AA7EAB62BB5}"
    Local $RegName4 = "InstallSource"

    [/autoit] [autoit][/autoit] [autoit]

    Local $var05 = ("n;1;C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey5 = "HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\8B68A55A1B8E5F548872A07AAE6BB25B\SourceList"
    Local $RegName5 = "LastUsedSource"

    [/autoit] [autoit][/autoit] [autoit]

    Local $var06 = ("C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey6 = "HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\8B68A55A1B8E5F548872A07AAE6BB25B\SourceList\Net"
    Local $RegName6 = "1"

    [/autoit] [autoit][/autoit] [autoit]

    ;~ ****** V7.03 ******
    Local $var07 = ("C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey7 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{B8468DEE-E275-440D-BDCA-B6BC9478DD56}"
    Local $RegName7 = "InstallSource"

    [/autoit] [autoit][/autoit] [autoit]

    Local $var08 = ("n;1;C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey8 = "HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\EED8648B572ED044DBAC6BCB4987DD65\SourceList"
    Local $RegName8 = "LastUsedSource"

    [/autoit] [autoit][/autoit] [autoit]

    Local $var09 = ("C:\Temp\Install\GroupWise\Uninstall\")
    Local $SystemRegKey9 = "HKEY_LOCAL_MACHINE\Software\Classes\Installer\Products\EED8648B572ED044DBAC6BCB4987DD65\SourceList\Net"
    Local $RegName9 = "1"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #endregion - Global

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;===============================================================
    ;===============================================================

    [/autoit] [autoit][/autoit] [autoit]

    #region - Dateien ins Skript einbinden
    ;~ FileInstall("H:\Auto-IT\Scripte\UpdatePack\Logo_klein.gif", "C:\Temp\Install\UpdatePacks\Logo_klein.jpg", 1)
    #endregion - Dateien ins Skript einbinden

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================
    ;===============================================================

    [/autoit] [autoit][/autoit] [autoit]

    #region - HotKeys
    HotKeySet("{PAUSE}", "TogglePause") ;Skript wird unterbrochen und zeigt ToolTip an
    HotKeySet("{ESC}", "_Exit") ;zeigt Abbrechen Fenster an
    HotKeySet("{F1}", "Info") ; zeigt Hilfe Fenster an
    HotKeySet("^!x", "_AdminExit") ; beendet Skript, wenn Strg+Alt+X gedrückt wird
    #endregion - HotKeys

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================
    ;===============================================================

    [/autoit] [autoit][/autoit] [autoit]

    #include <GuiConstants.au3> ; Wichtig zum erzeugen von einer GUI (OHNE keine GUI)
    #Include <GuiStatusBar.au3> ; Wichtig zum erzeugen von Statusbar (OHNE kein STATUSBAR)
    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
    Opt("RunErrorsFatal", 0) ;1=fatal, 0=silent set @error

    [/autoit] [autoit][/autoit] [autoit]

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") ; Legt fest, was passiert, wenn man das Fenster schließt

    [/autoit] [autoit][/autoit] [autoit]

    #region - Seite1
    ; Erzeugen der Ersten Seite
    $Seite01 = GUICreate($ProjectName, 641, 481, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST)
    $Ueberschrift = GUICtrlCreateLabel($ProjectName & $ProjectArt, 30, 30, 400, 36)
    GUICtrlSetFont(-1, 20, 800, 0, "Arial")
    $Logo = GUICtrlCreatePic($SciptPfad & "\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY,$WS_GROUP))
    $GraphicS1_1 = GUICtrlCreateGraphic(20, 100, 600, 280)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetColor(-1, 0x000000)
    $S1_Zeile01 = GUICtrlCreateLabel("Es wird jetzt der Novell GroupWise Client auf Ihren PC aktualisiert.", 30, 110, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile03 = GUICtrlCreateLabel("Das Update wird ca. 10 Minuten dauern.", 30, 170, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile04 = GUICtrlCreateLabel("Eine vorab installierte Versionen wird gelöscht.", 30, 200, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile06 = GUICtrlCreateLabel("", 30, 260, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile08 = GUICtrlCreateLabel("Sie können mittels des Abbrechen-Knopfes die Installation bis zum nächsten", 30, 320, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile09 = GUICtrlCreateLabel("Neustart verhindern.", 30, 350, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $StartButton01 = GUICtrlCreateButton("START", 50, 400, 100, 50, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetOnEvent($StartButton01, "Seite01_OK")
    $AbbrechenButton01 = GUICtrlCreateButton("Abbrechen", 260, 400, 100, 50, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetOnEvent($AbbrechenButton01, "_Exit")
    $HilfeButton01 = GUICtrlCreateButton("Hilfe", 470, 400, 100, 50, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetOnEvent($HilfeButton01, "Hilfe")
    #endregion - Seite1

    [/autoit] [autoit][/autoit] [autoit]

    #region - Seite2
    ; Erzeugen der zweiten Seite
    $Seite02 = GUICreate($ProjectName , 641, 481, -1, -1, $WS_CAPTION, $WS_EX_APPWINDOW)
    $Ueberschrift = GUICtrlCreateLabel($ProjectName & $ProjectArt, 30, 30, 396, 36)
    GUICtrlSetFont(-1, 20, 800, 0, "Arial")
    $Logo = GUICtrlCreatePic($SciptPfad & "\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY, $WS_GROUP))
    $GraphicS2_1 = GUICtrlCreateGraphic(168, 100, 308, 270)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetColor(-1, 0x000000)
    $GraphicS2_2 = GUICtrlCreateGraphic(168, 380, 308, 60)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetColor(-1, 0x000000)
    $Versionkontrolle = GUICtrlCreateLabel("Versionskontrolle", 180, 110, 149, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $ALTloeschen = GUICtrlCreateLabel("Alte Version löschen", 180, 140, 150 , 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $Install = GUICtrlCreateLabel("Programminstallation", 180, 170, 170, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $Feld_Fertig = GUICtrlCreateLabel(" ", 185, 400, 270, 22)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $Versionkontrolle_Fertig = GUICtrlCreateLabel(" ", 410, 110, 37, 20) ; siehe unten in der funktion
    GUICtrlSetFont(-1, 10, 400, 2, "Arial")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $ALTloeschen_Fertig = GUICtrlCreateLabel(" ", 410, 140, 37, 20)
    GUICtrlSetFont(-1, 10, 400, 2, "Arial")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $Install_Fertig = GUICtrlCreateLabel(" ", 410, 170, 37, 20)
    GUICtrlSetFont(-1, 10, 400, 2, "Arial")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    #endregion - Seite 2

    [/autoit] [autoit][/autoit] [autoit]

    #region Statusbar Seite 2
    ; Erzeugen eines Statusbar mit 5 Feldern, davon 2 Progressbars
    Local $StatusBar1, $ProgressBar1, $ProgressBar2, $Progress1 = 0, $Progress2 = 0
    Local $a_Parts[5] = [169, 309, 335 , 475, -1] ; ProgressFelder und StartBreite = 140
    $StatusBar1 = _GUICtrlStatusBar_Create ($Seite02); Erzeugt eine Statusbar bei der $Seite02
    _GUICtrlStatusBar_SetMinHeight ($StatusBar1, 20); Setzt die Höhe der Statusbar
    _GUICtrlStatusBar_SetParts ($StatusBar1, $a_Parts) ; Setzt fest, aus wie vielen Teilen die Statusbar bestehen soll
    $progressBar1 = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH) ; Erzeugt einen Prozessbalken
    $progressBar2 = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH) ; Erzeugt einen Prozessbalken
    $hProgress1 = GUICtrlGetHandle($progressBar1) ; Erlaubt das "Händling" des Prozessbalkens
    _GUICtrlStatusBar_EmbedControl ($StatusBar1, 1, $hProgress1) ; legt fest, in welcher Spalte der erste Prozessbalken laufen soll
    $hProgress2 = GUICtrlGetHandle($progressBar2) ; Erlaubt das "Händling" des Prozessbalkens
    _GUICtrlStatusBar_EmbedControl ($StatusBar1, 3, $hProgress2) ; legt fest, in welcher Spalte der zweite Prozessbalken laufen soll
    GUICtrlSetColor($ProgressBar1,32250); setzt die Farbe für den ersten "Laufbalken"
    #endregion Statusbar Seite 2

    [/autoit] [autoit][/autoit] [autoit]

    #region -Seite 3
    ; Erzeugen der dritten Seite
    $Seite03 = GUICreate($ProjectName , 641, 481, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST) ;, $WS_EX_APPWINDOW
    $Ueberschrift = GUICtrlCreateLabel($ProjectName & $ProjectArt, 30, 30, 396, 36)
    GUICtrlSetFont(-1, 20, 800, 0, "Arial")
    $Logo = GUICtrlCreatePic($SciptPfad & "\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY, $WS_GROUP))
    $GraphicS3_1 = GUICtrlCreateGraphic(20, 100, 600, 290)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetColor(-1, 0x000000)
    $S3_Zeile01 = GUICtrlCreateLabel("", 30, 110, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile02 = GUICtrlCreateLabel("", 30, 170, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile03 = GUICtrlCreateLabel("", 30, 230, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile04 = GUICtrlCreateLabel("", 30, 260, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile05 = GUICtrlCreateLabel("_______________", 30, 300, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile06 = GUICtrlCreateLabel("Informationslogistik", 30, 320, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile07 = GUICtrlCreateLabel("Team System", 30, 340, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile08 = GUICtrlCreateLabel("wu2", 30, 360, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $BeendenButton = GUICtrlCreateButton("Beenden", 270, 410, 80, 50, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetOnEvent($BeendenButton, "_AdminExit")
    #endregion - Seite 3

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;===============================================================
    ;===============================================================

    [/autoit] [autoit][/autoit] [autoit]

    #region - Startet erste Seite
    GUISetState(@SW_SHOW, $Seite01)
    #endregion - Startet erste Seite

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================
    ;===============================================================

    [/autoit] [autoit][/autoit] [autoit]

    #region - Schleife
    While 1
    Sleep (1000)
    WEnd
    Exit
    #endregion - Schleife

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================
    ;===============================================================

    [/autoit] [autoit][/autoit] [autoit]

    #region - Funktion Seite 1
    Func Seite01_OK()
    Sleep(500)
    _Sciptqueck()
    Sleep(500)
    _SciptRun()
    Sleep(500)
    GUISetState( @SW_SHOW, $Seite02 ) ;öffnet Seite02
    GUISetState( @SW_HIDE, $Seite01 ) ;versteckt Seite01
    Sleep(2000)
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installations Status Gesamt", 4)
    $Progress1 = 0 ; setzt die erste Statusbar auf 0
    $Progress2 = 0 ; setzt die zweite Statusbar auf 0
    ;~ ***********************
    Func_Install()
    ;~ ***********************
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installations beendet", 4)
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation beendet", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 100)
    Sleep(1000)
    _SciptEnd()
    Sleep(2000)
    GUISetState( @SW_SHOW, $Seite03 ) ;öffnet Seite03
    GUISetState( @SW_HIDE, $Seite02 ) ;versteckt Seite02
    EndFunc ;==>Seite01_OK
    #endregion - Funktion Seite 1

    [/autoit] [autoit][/autoit] [autoit]

    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    #region - Funktion Seite 3
    Func Neustart()
    Sleep(500)
    ProgressOn("Neustart", "Laufzeit", "0 Sek bis Neustart")
    For $i = 1 To 60 Step 1
    Sleep(1000)
    ProgressSet($i, 60 - $i & " Sekunden bis Neustart")
    Next
    ProgressSet(100, "Laufzeit", "Neustart wird ausgelöst")
    Sleep(1000)
    ProgressOff()
    Shutdown(2)
    Exit
    EndFunc ;==>Neustart

    [/autoit] [autoit][/autoit] [autoit]

    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    Func Neustart2()
    Sleep (2000)
    Shutdown (2)
    Exit
    EndFunc ;==>Neustart2
    #endregion - Funktion Seite 3

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================
    ;===============================================================

    [/autoit] [autoit][/autoit] [autoit]

    #region - Installationen
    ;~ ***************************************************
    Func Func_Install()
    ;===============================================================
    GUICtrlSetData($Feld_Fertig, "Versionskontrolle")
    _GUICtrlStatusBar_SetText ($StatusBar1, "Versionskontrolle", 0)
    GUICtrlSetData($Versionkontrolle_Fertig, "läuft")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 10)
    $i = 0
    ; Abfragen V701
    ; ----------------------------------------------------------
    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{760B6267-0091-4B8F-A66A-C01E37E5F539}","DisplayName")
    If @error = 1 then ; Wenn keine Alte Version gefunden wurde, dann 2
    $i = $i + 2
    Else ; Wenn Alte Version 701 gefunden, dann Wert auf 4
    $i = $i + 4
    GUICtrlSetData ($ProgressBar1, $Progress1 + 50)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 20)
    EndIf
    Sleep(1000)
    ; Abfragen V702
    ; ----------------------------------------------------------
    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A55A86B8-E8B1-45F5-8827-0AA7EAB62BB5}","DisplayName")
    If @error = 1 then ; Wenn keine Alte Version 702 gefunden wurde, dann 8
    $i = $i + 8
    Else ; Wenn Alte Version 702 gefunden, dann Wert auf 16
    $i = $i + 16
    GUICtrlSetData ($ProgressBar1, $Progress1 + 50)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 20)
    EndIf
    Sleep(1000)
    ; Abfragen V703
    ; ----------------------------------------------------------
    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B8468DEE-E275-440D-BDCA-B6BC9478DD56}","DisplayName")
    If @error = 1 then ; Wenn keine Neue Version 703 gefunden wurde, dann Wert 32
    $i = $i + 32
    Else ; Wenn Neue Version 703 gefunden wurde, dann Wert 64
    $i = $i + 64
    EndIf
    Sleep(500)
    ; Abfragen V703HP1
    ; ----------------------------------------------------------
    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{8609C4A9-8578-4EF2-AFBE-E041D6E571CF}","DisplayName")
    If @error = 1 then ; Wenn keine Neue Version 703HP1 gefunden wurde, dann Wert 128
    $i = $i + 128
    Else ; Wenn Neue Version 703HP1 gefunden wurde, dann Wert 256
    $i = $i + 256
    EndIf
    Sleep(500)
    _GUICtrlStatusBar_SetText ($StatusBar1, "Versionskontrolle beendet", 0)
    GUICtrlSetData($Versionkontrolle_Fertig, "fertig")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(2000)
    ; ******************** Verarbeitung ************************
    Select
    ; ******************************************************
    Case $i = 170 ; Alt Nein - Neu Nein / Install
    ; ************ Kein Deinstallation *****************
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
    GUICtrlSetData($Feld_Fertig, "Deinstallation nicht nötig")
    GUICtrlSetData($ALTloeschen_Fertig, "fertig")
    Sleep(5000)
    ; ************ Installation *****************
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 60)
    GUICtrlSetData($Install_Fertig, "läuft")
    GUICtrlSetData($Feld_Fertig, "Installation Version 7.0.3HP1")
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 20)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 70)
    Sleep(500)
    $Return = RunWait("msiexec /i ""\\Kszfd1\PUB001\snapshot\programme\Novell\GroupWise\client703\win32\groupwise.msi"" transforms=""\\Kszfd1\PUB001\snapshot\programme\Novell\GroupWise\client703\win32\groupwise.mst"" /qn", "", @SW_HIDE)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(5000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 60)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 90)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 90)
    Sleep(2000)
    GUICtrlSetData ($S3_Zeile01, "Die Software wurde erfolgreich installiert.")
    GUICtrlSetData ($S3_Zeile02, "Viel Spaß beim Benutzen des Programms.")
    Sleep(500)
    ; ******************************************************
    Case $i = 172 ; Alt 7.01 Ja - Neu Nein / Deinstall Alt + Install Neu
    ; ************ Deinstallation ************************
    Sleep(2000)
    GUICtrlSetData($Feld_Fertig, "Alte Version wird gelöscht")
    GUICtrlSetData($ALTloeschen_Fertig, "läuft")
    _GUICtrlStatusBar_SetText ($StatusBar1, "Deinstallation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    ProcessClose("EXCEL.EXE") ; Excel beenden falls geöffnet
    $PID = ProcessExists("EXCEL.EXE")
    If $PID Then ProcessClose($PID)
    sleep(500)
    ProcessClose("WINWORD.EXE") ; Word beenden falls geöffnet
    $PID = ProcessExists("WINWORD.EXE")
    If $PID Then ProcessClose($PID)
    Sleep(500)
    ProcessClose("POWERPNT.EXE") ; Powerpoint beenden falls geöffnet
    $PID = ProcessExists("POWERPNT.EXE")
    If $PID Then ProcessClose($PID)
    Sleep(500)
    Sleep(500)
    ProcessClose("NOTIFY.EXE") ; GroupWise Notify beenden falls geöffnet
    $PID = ProcessExists("NOTIFY.EXE")
    If $PID Then ProcessClose($PID)
    sleep(500)
    ProcessClose("GRPWISE.EXE") ; GroupWise beenden falls geöffnet
    $PID = ProcessExists("GRPWISE.EXE")
    If $PID Then ProcessClose($PID)
    sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    RegWrite($SystemRegKey1, $RegName1, "REG_SZ", $var01) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    RegWrite($SystemRegKey2, $RegName2, "REG_EXPAND_SZ", $var02) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    RegWrite($SystemRegKey3, $RegName3, "REG_EXPAND_SZ", $var03) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    $Return = Run("C:\WINDOWS\system32\msiexec.exe" & " /x{760B6267-0091-4B8F-A66A-C01E37E5F539}" & " /norestart" & " /l* C:\Temp\Install\GroupWise\703\error.log", "", @SW_Show); & " /qb" & " /norestart", "", @SW_Show)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei beim Helpdesk" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(10000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 40)
    if WinExists("Windows Installer") Then
    WinActivate("", "")
    Send("{ENTER}")
    EndIf
    Sleep(10000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 50)
    if WinExists("GroupWise - InstallShield Wizard") Then
    WinActivate("GroupWise - InstallShield Wizard", "")
    Send("{ENTER}")
    EndIf
    Sleep(20000)
    if WinExists("GroupWise") Then WinWaitClose("GroupWise","", 60)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 80)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
    Sleep(10000)
    If FileExists("C:\Novell\GroupWise\grpwise.exe") Then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich beim Helpdesk"); bei Fehler MSGBOX und Exit
    Sleep(2000)
    If FileExists("D:\Profile\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\Notify.lnk") Then FileDelete("D:\Profile\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\Notify.lnk") ; Löscht Groupwise Notify aus dem Autostart Ordner
    Sleep(2000)
    GUICtrlSetData($Feld_Fertig, "Alte Version gelöscht")
    GUICtrlSetData($ALTloeschen_Fertig, "fertig")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 50)
    Sleep(2000)
    ; ************ Installation *****************
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 60)
    GUICtrlSetData($Install_Fertig, "läuft")
    GUICtrlSetData($Feld_Fertig, "Installation Version 7.0.3HP1")
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 20)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 70)
    Sleep(500)
    $Return = RunWait("msiexec /i ""\\Kszfd1\PUB001\snapshot\programme\Novell\GroupWise\client703\win32\groupwise.msi"" transforms=""\\Kszfd1\PUB001\snapshot\programme\Novell\GroupWise\client703\win32\groupwise.mst"" /qn", "", @SW_HIDE)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(5000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 60)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 90)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 90)
    Sleep(2000)
    GUICtrlSetData ($S3_Zeile01, "Die Software wurde erfolgreich installiert.")
    GUICtrlSetData ($S3_Zeile02, "Viel Spaß beim Benutzen des Programms.")
    Sleep(500)
    ; ******************************************************
    Case $i = 178 ; Alt 7.02 Ja - Neu Nein / Deinstall Alt + Install Neu
    ; ************ Deinstallation ************************
    Sleep(2000)
    GUICtrlSetData($Feld_Fertig, "Alte Version wird gelöscht")
    GUICtrlSetData($ALTloeschen_Fertig, "läuft")
    _GUICtrlStatusBar_SetText ($StatusBar1, "Deinstallation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    ProcessClose("EXCEL.EXE") ; Excel beenden falls geöffnet
    $PID = ProcessExists("EXCEL.EXE")
    If $PID Then ProcessClose($PID)
    sleep(500)
    ProcessClose("WINWORD.EXE") ; Word beenden falls geöffnet
    $PID = ProcessExists("WINWORD.EXE")
    If $PID Then ProcessClose($PID)
    Sleep(500)
    ProcessClose("POWERPNT.EXE") ; Powerpoint beenden falls geöffnet
    $PID = ProcessExists("POWERPNT.EXE")
    If $PID Then ProcessClose($PID)
    Sleep(500)
    Sleep(500)
    ProcessClose("NOTIFY.EXE") ; GroupWise Notify beenden falls geöffnet
    $PID = ProcessExists("NOTIFY.EXE")
    If $PID Then ProcessClose($PID)
    sleep(500)
    ProcessClose("GRPWISE.EXE") ; GroupWise beenden falls geöffnet
    $PID = ProcessExists("GRPWISE.EXE")
    If $PID Then ProcessClose($PID)
    sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    RegWrite($SystemRegKey4, $RegName4, "REG_SZ", $var04) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    RegWrite($SystemRegKey5, $RegName5, "REG_EXPAND_SZ", $var05) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    RegWrite($SystemRegKey6, $RegName6, "REG_EXPAND_SZ", $var06) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    $Return = Run("C:\WINDOWS\system32\msiexec.exe" & " /x{A55A86B8-E8B1-45F5-8827-0AA7EAB62BB5}" & " /norestart" & " /l* C:\Temp\Install\GroupWise\703\error.log", "", @SW_Show); & " /qb" & " /norestart", "", @SW_Show)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei beim Helpdesk" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(10000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 40)
    if WinExists("Windows Installer") Then
    WinActivate("", "")
    Send("{ENTER}")
    EndIf
    Sleep(10000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 50)
    if WinExists("GroupWise - InstallShield Wizard") Then
    WinActivate("GroupWise - InstallShield Wizard", "")
    Send("{ENTER}")
    EndIf
    Sleep(20000)
    if WinExists("GroupWise") Then WinWaitClose("GroupWise","", 60)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 80)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
    Sleep(10000)
    If FileExists("C:\Novell\GroupWise\grpwise.exe") Then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich beim Helpdesk"); bei Fehler MSGBOX und Exit
    Sleep(2000)
    If FileExists("D:\Profile\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\Notify.lnk") Then FileDelete("D:\Profile\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\Notify.lnk") ; Löscht Groupwise Notify aus dem Autostart Ordner
    Sleep(2000)
    GUICtrlSetData($Feld_Fertig, "Alte Version gelöscht")
    GUICtrlSetData($ALTloeschen_Fertig, "fertig")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 50)
    Sleep(2000)
    ; ************ Installation *****************
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 60)
    GUICtrlSetData($Install_Fertig, "läuft")
    GUICtrlSetData($Feld_Fertig, "Installation Version 7.0.3HP1")
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 20)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 70)
    Sleep(500)
    $Return = RunWait("msiexec /i ""\\Kszfd1\PUB001\snapshot\programme\Novell\GroupWise\client703\win32\groupwise.msi"" transforms=""\\Kszfd1\PUB001\snapshot\programme\Novell\GroupWise\client703\win32\groupwise.mst"" /qn", "", @SW_HIDE)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(5000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 60)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 90)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 90)
    Sleep(2000)
    GUICtrlSetData ($S3_Zeile01, "Die Software wurde erfolgreich installiert.")
    GUICtrlSetData ($S3_Zeile02, "Viel Spaß beim Benutzen des Programms.")
    Sleep(500)
    ; ******************************************************
    Case $i = 202 ; Alt 7.03 Ja - Neu Nein / Deinstall Alt + Install Neu
    ; ************ Deinstallation ************************
    Sleep(2000)
    GUICtrlSetData($Feld_Fertig, "Alte Version wird gelöscht")
    GUICtrlSetData($ALTloeschen_Fertig, "läuft")
    _GUICtrlStatusBar_SetText ($StatusBar1, "Deinstallation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    ProcessClose("EXCEL.EXE") ; Excel beenden falls geöffnet
    $PID = ProcessExists("EXCEL.EXE")
    If $PID Then ProcessClose($PID)
    sleep(500)
    ProcessClose("WINWORD.EXE") ; Word beenden falls geöffnet
    $PID = ProcessExists("WINWORD.EXE")
    If $PID Then ProcessClose($PID)
    Sleep(500)
    ProcessClose("POWERPNT.EXE") ; Powerpoint beenden falls geöffnet
    $PID = ProcessExists("POWERPNT.EXE")
    If $PID Then ProcessClose($PID)
    Sleep(500)
    Sleep(500)
    ProcessClose("NOTIFY.EXE") ; GroupWise Notify beenden falls geöffnet
    $PID = ProcessExists("NOTIFY.EXE")
    If $PID Then ProcessClose($PID)
    sleep(500)
    ProcessClose("GRPWISE.EXE") ; GroupWise beenden falls geöffnet
    $PID = ProcessExists("GRPWISE.EXE")
    If $PID Then ProcessClose($PID)
    sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    RegWrite($SystemRegKey7, $RegName7, "REG_SZ", $var07) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    RegWrite($SystemRegKey8, $RegName8, "REG_EXPAND_SZ", $var08) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    RegWrite($SystemRegKey9, $RegName9, "REG_EXPAND_SZ", $var09) ; Veränder den Uninstall Speicherort, damit die Deinstallation funktionieren kann
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(500)
    $Return = Run("C:\WINDOWS\system32\msiexec.exe" & " /x{B8468DEE-E275-440D-BDCA-B6BC9478DD56}" & " /norestart" & " /l* C:\Temp\Install\GroupWise\703\error.log", "", @SW_Show); & " /qb" & " /norestart", "", @SW_Show)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei beim Helpdesk" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(10000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 40)
    if WinExists("Windows Installer") Then
    WinActivate("", "")
    Send("{ENTER}")
    EndIf
    Sleep(10000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 50)
    if WinExists("GroupWise - InstallShield Wizard") Then
    WinActivate("GroupWise - InstallShield Wizard", "")
    Send("{ENTER}")
    EndIf
    Sleep(20000)
    if WinExists("GroupWise") Then WinWaitClose("GroupWise","", 60)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 80)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
    Sleep(10000)
    If FileExists("C:\Novell\GroupWise\grpwise.exe") Then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich beim Helpdesk"); bei Fehler MSGBOX und Exit
    Sleep(2000)
    If FileExists("D:\Profile\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\Notify.lnk") Then FileDelete("D:\Profile\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart\Notify.lnk") ; Löscht Groupwise Notify aus dem Autostart Ordner
    Sleep(2000)
    GUICtrlSetData($Feld_Fertig, "Alte Version gelöscht")
    GUICtrlSetData($ALTloeschen_Fertig, "fertig")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 50)
    Sleep(2000)
    ; ************ Installation *****************
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 60)
    GUICtrlSetData($Install_Fertig, "läuft")
    GUICtrlSetData($Feld_Fertig, "Installation Version 7.0.3HP1")
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 20)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 70)
    Sleep(500)
    $Return = RunWait("msiexec /i ""\\Kszfd1\PUB001\snapshot\programme\Novell\GroupWise\client703\win32\groupwise.msi"" transforms=""\\Kszfd1\PUB001\snapshot\programme\Novell\GroupWise\client703\win32\groupwise.mst"" /qn", "", @SW_HIDE)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit FileDelete("C:\Temp\Install\run.txt") and MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(5000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 60)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 90)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 90)
    Sleep(2000)
    GUICtrlSetData ($S3_Zeile01, "Die Software wurde erfolgreich installiert.")
    GUICtrlSetData ($S3_Zeile02, "Viel Spaß beim Benutzen des Programms.")
    Sleep(500)
    ; ******************************************************
    Case Else ; Nix machen
    ; ************ Kein Deinstallation *****************
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
    GUICtrlSetData($Feld_Fertig, "Deinstallation nicht nötig")
    GUICtrlSetData($ALTloeschen_Fertig, "fertig")
    Sleep(3000)
    ; ************ Kein Installation *******************
    GUICtrlSetData($Install_Fertig, "fertig")
    GUICtrlSetData($Feld_Fertig, "GroupWise 7.0.3HP1 schon installiert")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
    Sleep(2000)
    GUICtrlSetData ($S3_Zeile01, "Die Software war schon installiert.")
    GUICtrlSetData ($S3_Zeile02, "Weiterhin viel Spaß beim Benutzen des Programms.")
    Sleep(500)
    ; ******************************************************
    EndSelect

    ; **********************************************************
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================
    ;===============================================================

    [/autoit] [autoit][/autoit] [autoit]

    #region - Generelle Funktionen

    [/autoit] [autoit][/autoit] [autoit]

    ;******** Scipt Run ********************************************
    Func _SciptRun()
    FileCopy($SciptPfad & "\run.txt", "C:\Temp\Install\run.txt")
    EndFunc
    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ;******** Scipt Run Überprüfung ********************************************
    Func _Sciptqueck()
    if FileExists("C:\Temp\Install\run.txt") then Exit MsgBox(262160, "Fehlermeldung", "Es läuft bereits ein andere Installation. Führen Sie diese Installation später nochmals durch." & @CRLF & "Sollte es dann immer noch nicht funktionieren, dann melden Sie sich bitte beim Helpdesk")
    FileCopy($SciptPfad & "\run.txt", "C:\Temp\Install\run.txt")
    EndFunc
    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ;******** Scipt End ********************************************
    Func _SciptEnd()
    if FileExists("C:\Temp\Install\run.txt") then FileDelete("C:\Temp\Install\run.txt")
    EndFunc
    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;******** Beenden mit Nachfrage = ESC oder Abbrechen oder auf X im Fenster
    Func _Exit()
    $Box = MsgBox(262452, "Installation abbrechen", "Wenn Sie jetzt die Installation abbrechen, wird sie beim nächsten Neustart wieder gestartet." & @CRLF & @CRLF & "Wirklich beenden?")
    If $Box = 6 Then
    _SciptEnd()
    Exit
    EndIf
    EndFunc ;==>_Exit
    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ;******** Skript per Hotkey beenden = Strg + Alt + X **********
    Func _AdminExit()
    _SciptEnd()
    Exit
    EndFunc ;==>_AdminExit
    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ;******** Skript per Hotkey pausieren = Pause Taste **********
    Func TogglePause()
    $Paused = Not $Paused
    While $Paused
    Sleep(100)
    ToolTip('Script is "Paused"', 0, 0)
    WEnd
    ToolTip("")
    EndFunc ;==>TogglePause
    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ;******** Info *************************************************
    Func Info() ; Zeigt Hilfe Fenster an
    MsgBox(262208, "Info", $ProjectName & " Installation" & @CRLF & "Version: " & $Version & @CRLF & "Erstellt: " & $Erstellt & @CRLF & "Ersteller: " & $Erteller & @CRLF & "Abteilung: " & $Abteilung)
    EndFunc ;==>Info
    ;---------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ;******** Hilfe ************************************************
    Func Hilfe()
    MsgBox(262176, "Hilfe", "Haben Sie Fragen zu dieser Installation," & @CRLF & "dann rufen Sie bitte den Helpdesk " & @CRLF & "" & @CRLF & "unter Tel. 2000 an.")
    EndFunc ;==>Hilfe

    [/autoit] [autoit][/autoit] [autoit]

    #endregion - Generelle Funktionen

    [/autoit]


    PS: Falls noch jemand zusätzliche Anregung oder Verbesserungen hat, als her damit :)

    • Offizieller Beitrag

    Hallo

    Voiá:

    [autoit]

    $WMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    $DComApps = $WMIService.ExecQuery("Select * from Win32_DComApplicationSetting where Caption Like '%InstallShield%' and RunAsUser='Interactive User'")
    For $DComApp In $DComApps
    RegDelete("HKEY_CLASSES_ROOT\AppID\" & $DComApp.AppID, "RunAs")
    Next
    $DComApps = $WMIService.ExecQuery("Select * from Win32_DComApplicationSetting where Caption Like '%IDriverT%' and RunAsUser='Interactive User'")
    For $DComApp In $DComApps
    RegDelete("HKEY_CLASSES_ROOT\AppID\" & $DComApp.AppID, "RunAs")
    Next

    [/autoit]

    Kannst es aber auch mit RegEnumKey machen.

    Mfg Spider