Bekomme Sprungmarken Warnings

  • Ich bins mal wieder habe da ein Prob mit den Sprungmaken und zwar im 1 Versuch machte ich es so
    zwar einfach aber er öffnete mir die uninstall und die install gleichzeitig

    [autoit]


    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

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

    _SoftwareInstall_7zip()

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

    Func _SoftwareInstall_7zip()
    If BitAND(GUICtrlRead($aCkbColumn1[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "Path"), _
    $version7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "DisplayName")

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

    If Not FileExists($7zip & "\7zFM.exe") Then RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    If FileExists($7zip & "\7zFM.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "7-Zip " & $version7zip & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6 ;ja
    RunWait($7zip & "\Uninstall.exe /S ")
    RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    Case 7 ;nein
    RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    EndSwitch
    EndIf
    EndIf
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_7zip

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

    Exit

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

    ; Ende

    [/autoit]

    Dachte mir ok muss doch mit sprungmarken auch gehen , tut es zwar auch aber nachdem ich noch recht neu in AutoIt bin schleichen sich Fehler ein und ich komme hier nciht auf den Nenner :wacko:
    Ermacht zwar alles jedoch zeigt er mir 2 warnings an

    [autoit]

    Func _SoftwareInstall_7zip()
    If BitAND(GUICtrlRead($aCkbColumn1[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "Path")
    If Not FileExists($7zip & "\7zFM.exe") Then RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    If FileExists($7zip & "\7zFM.exe") Then

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

    $Sprungmarke = True
    $ZweiteSprungmarke = True
    While $Sprungmarke ; Sprungmarke initialisieren
    If MsgBox(4, "", "Uninstall? (Mit Ja wird 7-Zip deinstalliert)") = 6 Then RunWait($7zip & "\Uninstall.exe")
    While $ZweiteSprungmarke
    If MsgBox(4, "", "Installation von 7-Zip") = 6 Then RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    $ZweiteSprungmarke = False
    WEnd
    $Sprungmarke = False ; Endlosschleife verhindern (Danach muss direkt das Wend folgen)
    WEnd
    EndIf
    EndIf
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_7zip

    [/autoit]


    WARNING: $Sprungmarke possibly not declared/created yet

    $Sprungmarke = True

    ~~~~~~~~~~~~~~~~~~~^

    WARNING: $ZweiteSprungmarke possibly not declared/created yet

    $ZweiteSprungmarke = True

    ~~~~~~~~~~~~~~~~~~~~~~~~~^

    Mir ist klar das es an den Sprungmarken liegt nur leider kein Plan was ich falsch mache

    Hier noch das komplette script bisher

    Spoiler anzeigen

    #RequireAdmin
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=osiris.ico
    #AutoIt3Wrapper_Outfile=OSIRIS.exe
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Description=Osiris Software Installer
    #AutoIt3Wrapper_Res_Fileversion=3.1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=© 2011 by Osiris
    #AutoIt3Wrapper_Res_SaveSource=y
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%
    #AutoIt3Wrapper_Res_Field=Compiled by|Osiris
    #AutoIt3Wrapper_Res_Field=Original Name|Osiris Software Installer
    #AutoIt3Wrapper_Res_Field=Build|Úte%
    #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #Obfuscator_Parameters=/striponly
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #Region - TimeStamp
    ; 2011-05-14 20:47:53
    #EndRegion - TimeStamp

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Constants.au3>


    Opt("GUIOnEventMode", 1) ;i Eine Gute Wahl -> mehr Macros, leichtere Fenstertechnik

    If Not FileExists(@ScriptDir & "\2.jpg") Then FileInstall('2.jpg', @ScriptDir & "\2.jpg", 1)
    ; prüfen ob Hintergrundbild vorhanden ist, wenn nicht, dann auspacken die 1 = Überschreibt bestehende Dateien
    #Region ### START Koda GUI section ###
    GUICreate("Osiris Software Installer", 896, 560)
    GUICtrlCreatePic(@ScriptDir & "\2.jpg", 0, 0, 896, 560)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_ende")

    GUICtrlCreateGroup("", 170, 31, 185, 485)
    GUICtrlCreateLabel("Silent Install", 182, 16, 185, 17)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetFont(-1, 14, 400, 0, "Old English Text MT")


    ;i #### Start Checkboxarray für 25 Checkboxen ###
    Global $aLBckbColumn1[23] = ["Vlc-Media-Player", "7-Zip", "Firefox 4", "Firefox 3", "Ashampoo Burning", "CC Cleaner", "DVD Shrink", "Fraps 2.9.8", "Img Burn", "Irfan View", _
    "Netframework 4", "OpenOffice", "PartitionsWizard", "PDF Creator", "TeamViewer 6", "TMPGEnc-Plus", "TrueCrypt 7", "Teamspeak 2", "Teamspeak 3", "Unlocker", _
    "VirtualDub", "Winrar 4", "XP-AntiSpy"] ;i zur Beschriftung der Labels
    ;i a- Array + Label-LB + Checkbox-ckb
    Global $aCkbColumn1[23], $aLBColumn1[23] ;i ArrayVariablen (kl. a am Anfang) erstellen der Controls
    ;i a- Array + Checkbox-ckb
    For $i = 0 To 22 ;i statisch kein Ubound - erstellen von 0 - 24 = 25 Checkboxen
    $aCkbColumn1[$i] = GUICtrlCreateCheckbox($aLBckbColumn1[$i], 178, 40 + $i * 19, 13, 13)
    $aLBColumn1[$i] = GUICtrlCreateLabel($aLBckbColumn1[$i], 200, 40 + $i * 19, 120, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "Myriad Web Pro")
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    Next
    ;i #### Ende Checkboxarray ###
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;i Gruppe schliessen

    GUICtrlCreateGroup("", 355, 31, 185, 485)
    GUICtrlCreateLabel("User default", 367, 16, 185, 17)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont(-1, 14, 400, 0, "Old English Text MT")
    GUICtrlSetColor(-1, 0xffffff)
    ;i #### Start Checkboxarray für 25 Checkboxen ###
    Global $aLBckbColumn2[23] = ["Vlc-Media-Player", "7-Zip", "Firefox 4", "Firefox 3", "Ashampoo Burning", "CC Cleaner", "DVD Shrink", "Fraps 2.9.8", "Img Burn", "Irfan View", _
    "Netframework 4", "OpenOffice", "PartitionsWizard", "PDF Creator", "TeamViewer 6", "TMPGEnc-Plus", "TrueCrypt 7", "Teamspeak 2", "Teamspeak 3", "Unlocker", _
    "VirtualDub", "Winrar 4", "XP-AntiSpy"] ;i zur Beschriftung der Labels
    ;i a- Array + Label-LB + Checkbox-ckb
    Global $aCkbColumn2[23], $aLBColumn2[25] ;i ArrayVariablen (kl. a am Anfang) erstellen der Controls
    ;i a- Array + Checkbox-ckb
    For $i = 0 To 22 ;i statisch kein Ubound - erstellen von 0 - 24 = 25 Checkboxen
    $aCkbColumn2[$i] = GUICtrlCreateCheckbox($aLBckbColumn2[$i], 363, 40 + $i * 19, 13, 13)
    $aLBColumn2[$i] = GUICtrlCreateLabel($aLBckbColumn2[$i], 386, 40 + $i * 19, 120, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "Myriad Web Pro")
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    ; create 25x Checkbox
    Next
    ;i #### Ende Checkboxarray ###
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;i Gruppe schliessen

    GUICtrlCreateGroup("", 540, 31, 185, 485)
    GUICtrlCreateLabel("Portable Apps", 552, 16, 185, 17)
    GUICtrlSetFont(-1, 14, 400, 0, "Old English Text MT")
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    ;i #### Start Checkboxarray für 25 Checkboxen ###
    Global $aLBckbColumn3[9] = ["Firefox", "Vlc Media Player", "TeamViewer6", "7-Zip", "OpenOffice", "Thunderbird", "FoxitReader", "FileZilla", "Spybot"] ;i zur Beschriftung der Labels
    ;i a- Array + Label-LB + Checkbox-ckb
    Global $aCkbColumn3[9], $aLBColumn3[25] ;i ArrayVariablen (kl. a am Anfang) erstellen der Controls
    ;i a- Array + Checkbox-ckb
    For $i = 0 To 8 ;i statisch kein Ubound - erstellen von 0 - 24 = 25 Checkboxen
    $aCkbColumn3[$i] = GUICtrlCreateCheckbox($aLBckbColumn3[$i], 548, 40 + $i * 19, 13, 13)
    $aLBColumn2[$i] = GUICtrlCreateLabel($aLBckbColumn3[$i], 571, 40 + $i * 19, 120, 17)
    GUICtrlSetFont(-1, 10, 400, 0, "Myriad Web Pro")
    GUICtrlSetColor(-1, 0xffffff)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    ; create 25x Checkbox
    Next
    ;i #### Ende Checkboxarray ###
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;i Gruppe schliessen

    Global $bnInstall = GUICtrlCreateButton("Install", 355, 526, 75, 22)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont(-1, 9, 400, 0, "Myriad Web Pro")
    GUICtrlSetOnEvent(-1, "_start")
    Global $bnExit = GUICtrlCreateButton("Exit", 465, 526, 75, 22)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont(-1, 9, 400, 0, "Myriad Web Pro")
    GUICtrlSetOnEvent(-1, "_ende")

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    Sleep(100)
    WEnd

    Func _start()
    Local $Msg = MsgBox(32 + 4, "Installation", "Soll mit der Installation begonnen werden ?" & @TAB)
    If $Msg = 7 Then
    ConsoleWrite("Abbruch durch den Nutzer !" & @CRLF)
    Else
    _install()
    EndIf
    EndFunc ;==>_start

    Func _install()
    ;i MsgBox(0, "", "Installation ...") ;i zur Prüfung der Funktion, also ein Dummy
    _softwareInstall_vlc()
    _SoftwareInstall_7zip()
    _softwareInstall_moz4()
    #Region --- CodeWizard generated code Start ---
    ;MsgBox features: Title=Yes, Text=Yes, Buttons=Yes, No, and Cancel, Icon=None
    If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
    $iMsgBoxAnswer = MsgBox(3, "OsirisSoftwareInstaller", "Installation ist abgeschlossen" & @CRLF & "Wollen Sie neustarten?")
    Select
    Case $iMsgBoxAnswer = 6 ;Yes
    Shutdown(6)
    Case $iMsgBoxAnswer = 7 ;No
    Exit
    Case $iMsgBoxAnswer = 2 ;Cancel

    EndSelect
    #EndRegion --- CodeWizard generated code Start ---
    EndFunc ;==>_install

    Func _softwareInstall_vlc()
    If BitAND(GUICtrlRead($aCkbColumn1[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $VLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "InstallDir"), _
    $versionVLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "Version")
    ;Local $VLC = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VLC", "InstallDir"), _
    ;$versionVLC = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VLC", "Version")

    If Not FileExists($VLN & "\vlc.exe") Then RunWait(@ScriptDir & "\Software\vlc\vlc.exe")
    If FileExists($VLN & "\vlc.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "VLC Media Player " & $versionVLN & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6
    RunWait($VLN & "\uninstall.exe")
    RunWait(@ScriptDir & "\Software\vlc\vlc.exe")
    Case 7


    EndSwitch
    EndIf
    EndIf
    #cs## If not FileExists($VLC & "\vlc.exe") Then RunWait(@ScriptDir & "\Software\vlc\vlc.exe")
    if FileExists($VLC & "\vlc.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "VLC media player " & $versionVLC & " ist bereits installiert !"_
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    case 6
    RunWait($VLC & "\uninstall.exe")
    RunWait(@ScriptDir & "\Software\vlc\vlc.exe")
    case 7
    RunWait(@ScriptDir & "\Software\vlc\vlc.exe")
    case 2
    EndSwitch
    EndIf
    #ce EndIf
    Sleep(1000)
    EndFunc ;==>_softwareInstall_vlc
    Func _SoftwareInstall_7zip()
    If BitAND(GUICtrlRead($aCkbColumn1[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "Path")
    If Not FileExists($7zip & "\7zFM.exe") Then RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    If FileExists($7zip & "\7zFM.exe") Then

    $Sprungmarke = True
    $ZweiteSprungmarke = True
    While $Sprungmarke ; Sprungmarke initialisieren
    If MsgBox(4, "", "Uninstall? (Mit Ja wird 7-Zip deinstalliert)") = 6 Then RunWait($7zip & "\Uninstall.exe")
    While $ZweiteSprungmarke
    If MsgBox(4, "", "Installation von 7-Zip") = 6 Then RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    $ZweiteSprungmarke = False
    WEnd
    $Sprungmarke = False ; Endlosschleife verhindern (Danach muss direkt das Wend folgen)
    WEnd
    EndIf
    EndIf
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_7zip
    Func _SoftwareInstall_moz4()
    If BitAND(GUICtrlRead($aCkbColumn1[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $moz4 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox\4.0.1 (de)\Main", "Install Directory"), _
    $versionmoz4 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox", "CurrentVersion")
    If Not FileExists($moz4 & "\firefox.exe") Then RunWait(@ScriptDir & "\Software\firefox4\MozillaFirefox4.0.exe")
    If FileExists($moz4 & "\firefox.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "Firefox 4 " & $versionmoz4 & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6

    RunWait($moz4 & "\Uninstall.exe")

    RunWait(@ScriptDir & "\Software\firefox4\MozillaFirefox4.0.exe")

    Case 7

    EndSwitch
    EndIf
    EndIf
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_moz4
    #cs## If BitAND(GUICtrlRead($aCkbColumn1[3]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $moz3 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox\4.0.1 (de)\Main", "Install Directory"), _
    $versionmoz3 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox", "CurrentVersion")
    If FileExists($moz3 & "\firefox.exe") Then
    ;i ... dann ermittle die installierte Version von VLC ...
    ConsoleWrite("Firefox 4 " & $versionmoz3 & " ist installiert" _
    & @CRLF & " und befindet sich in: " & $moz3 & "\firefox.exe")
    ;i Meldung an den Nutzer über die vorhandene VLCversion, ...
    ;i ... Frage ob diese deinstalliert werden soll, wenn ja dann Deinstallation!
    If MsgBox(32 + 4, "Installation", "Firefox 4 " & $versionmoz3 & _
    " ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
    "Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($moz3 & "\Uninstall.exe")
    ;i ... Anfrage ob VLC schon auf dem PC unter VLC installiert ist ...
    Else
    ;i VLC aus Deinem Softwarepool installieren!
    RunWait(@ScriptDir & "\Software\FireFox3.6\MozillaFirefox.exe")
    EndIf
    EndIf
    Sleep(1000)


    If BitAND(GUICtrlRead($aCkbColumn1[4]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;Local $Ashampoo = (@ProgramFilesDir & "\Ashampoo\Ashampoo Burning Studio 2010 Advanced")
    Local $Ashampoo = (@ProgramFilesDir & "\Ashampoo\Ashampoo Burning Studio 2010 Advanced"), _
    $versionAshampoo = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Ashampoo Burning Studio 2010 Advanced_is1", "DisplayName")
    If FileExists($Ashampoo & "\burningstudio2010adv.exe") Then
    ;i ... dann ermittle die installierte Version von VLC ...
    ConsoleWrite("Ashampoo ist installiert" _
    & @CRLF & " und befindet sich in: " & $Ashampoo & "\burningstudio2010adv.exe")
    ;i Meldung an den Nutzer über die vorhandene VLCversion, ...
    ;i ... Frage ob diese deinstalliert werden soll, wenn ja dann Deinstallation!
    If MsgBox(32 + 4, "Installation", "Ashampoo " & $versionAshampoo & _
    " ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
    "Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($Ashampoo & "\unins000.exe /Silent")
    ;i ... Anfrage ob VLC schon auf dem PC unter VLC installiert ist ...
    Else
    ;i VLC aus Deinem Softwarepool installieren!
    RunWait(@ScriptDir & "\Software\ashampoo\asinstall.exe")
    EndIf
    EndIf
    Sleep(1000)

    If BitAND(GUICtrlRead($aCkbColumn1[5]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $cccleaner = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ccleaner.exe", "Path"), _
    $versioncccleaner = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ccleaner.exe", "DisplayName")
    If FileExists($cccleaner & "\CCleaner.exe") Then
    ;i ... dann ermittle die installierte Version von VLC ...
    ConsoleWrite("CC Cleaner " & $versioncccleaner & " ist installiert" _
    & @CRLF & " und befindet sich in: " & $cccleaner & "\CCleaner.exe.exe")
    ;i Meldung an den Nutzer über die vorhandene VLCversion, ...
    ;i ... Frage ob diese deinstalliert werden soll, wenn ja dann Deinstallation!
    If MsgBox(32 + 4, "Installation", "CC Cleaner " & $versioncccleaner & _
    " ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
    "Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($cccleaner & "\uninst.exe")
    ;i ... Anfrage ob VLC schon auf dem PC unter VLC installiert ist ...
    Else
    ;i VLC aus Deinem Softwarepool installieren!
    RunWait(@ScriptDir & "\Software\cccleaner\ccinst.exe")
    EndIf
    EndIf
    Sleep(1000)

    If BitAND(GUICtrlRead($aCkbColumn1[6]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $dvd = RegRead("HKEY_CURRENT_USER\Software\DVD Shrink\DVD Shrink 3.2\Preferences", "InstallDirectory"), _
    $versiondvd = RegRead("HKEY_CURRENT_USER\Software\DVD Shrink\DVD Shrink 3.2\Preferences", "DisplayVersion")
    If FileExists($dvd & "\DVD Shrink 3.2.exe") Then
    ;i ... dann ermittle die installierte Version von VLC ...
    ConsoleWrite("DVD Shrink " & $versiondvd & " ist installiert" _
    & @CRLF & " und befindet sich in: " & $dvd & "\DVD Shrink 3.2.exe")
    ;i Meldung an den Nutzer über die vorhandene VLCversion, ...
    ;i ... Frage ob diese deinstalliert werden soll, wenn ja dann Deinstallation!
    If MsgBox(32 + 4, "Installation", "DVD Shrink " & $versiondvd & _
    " ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
    "Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($dvd & "\unins000.exe")
    ;Local $dvd = (@ProgramFilesDir & "\DVD Shrink")
    Else
    ;i VLC aus Deinem Softwarepool installieren!
    RunWait(@ScriptDir & "\Software\dvdshrink\DVD_Shrink.exe")
    EndIf
    EndIf
    Sleep(1000)
    If BitAND(GUICtrlRead($aCkbColumn1[7]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $fraps = (@ProgramFilesDir & "\Fraps"), _
    $versionfraps = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers", "DisplayVersion")
    If FileExists($fraps & "\fraps.exe") Then
    ;i ... dann ermittle die installierte Version von VLC ...
    ConsoleWrite("Fraps " & $versionfraps & " ist installiert" _
    & @CRLF & " und befindet sich in: " & $fraps & "\fraps.exe")
    ;i Meldung an den Nutzer über die vorhandene VLCversion, ...
    ;i ... Frage ob diese deinstalliert werden soll, wenn ja dann Deinstallation!
    If MsgBox(32 + 4, "Installation", "Fraps " & $versionfraps & _
    " ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
    "Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($fraps & "\uninstall.exe")
    Sleep(5000)
    ;Local $dvd = (@ProgramFilesDir & "\DVD Shrink")
    Else
    ;i VLC aus Deinem Softwarepool installieren!
    RunWait(@ScriptDir & "\Software\fraps\Fraps_v2.9.8.exe")
    EndIf
    EndIf
    Sleep(1000)
    If BitAND(GUICtrlRead($aCkbColumn1[8]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $imgburn = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ImgBurn", "InstallLocation"), _
    $versionimgburn = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ImgBurn", "DisplayVersion")
    If FileExists($imgburn & "\ImgBurn.exe") Then
    ;i ... dann ermittle die installierte Version von VLC ...
    ConsoleWrite("ImgBurn " & $versionimgburn & " ist installiert" _
    & @CRLF & " und befindet sich in: " & $imgburn & "\ImgBurn.exe")
    ;i Meldung an den Nutzer über die vorhandene VLCversion, ...
    ;i ... Frage ob diese deinstalliert werden soll, wenn ja dann Deinstallation!
    If MsgBox(32 + 4, "Installation", "ImgBurn " & $versionimgburn & _
    " ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
    "Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($imgburn & "\uninstall.exe")
    Sleep(5000)
    ;Local $dvd = (@ProgramFilesDir & "\DVD Shrink")
    Else
    ;i VLC aus Deinem Softwarepool installieren!
    RunWait(@ScriptDir & "\Software\imgburn\Imgburninstall.exe")
    EndIf
    EndIf
    Sleep(1000)
    If BitAND(GUICtrlRead($aCkbColumn1[9]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $irfanview = (@ProgramFilesDir & "\IrfanView"), _
    $versionirfanview = RegRead(" HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\IrfanView", "DisplayVersion")
    If FileExists($irfanview & "\i_view32.exe") Then
    ;i ... dann ermittle die installierte Version von VLC ...
    ConsoleWrite("IrfanView " & $versionirfanview & " ist installiert" _
    & @CRLF & " und befindet sich in: " & $irfanview & "\i_view32.exe")
    ;i Meldung an den Nutzer über die vorhandene VLCversion, ...
    ;i ... Frage ob diese deinstalliert werden soll, wenn ja dann Deinstallation!
    If MsgBox(32 + 4, "Installation", "IrfanView " & $versionirfanview & _
    " ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
    "Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($irfanview & "\iv_uninstall.exe")
    Sleep(5000)
    ;Local $dvd = (@ProgramFilesDir & "\DVD Shrink")
    Else
    ;i VLC aus Deinem Softwarepool installieren!
    RunWait(@ScriptDir & "\Software\irfanview\IrfanView427.exe")
    EndIf
    EndIf
    Sleep(1000)


    ;If BitAND(GUICtrlRead($aCkbColumn1[9]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[10]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[11]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[12]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[13]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[14]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[15]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[16]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[17]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[18]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[19]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[20]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[21]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[22]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[23]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[24]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;If BitAND(GUICtrlRead($aCkbColumn1[25]), $GUI_CHECKED) = $GUI_CHECKED Then
    ;>>>>Spalt1
    ;<<<<Spalte2


    ;>>>>Spalte2
    ;<<<<Spalte3
    If BitAND(GUICtrlRead($aCkbColumn3[0]), $GUI_CHECKED) = $GUI_CHECKED Then

    MsgBox(64, "Ordner erstellen", "Es wird nun ein Desktop Ordner für PortableApps erstellt", 5)
    DirCreate(@DesktopDir & "\PortableApps\FirefoxPortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\FirefoxPortable", @DesktopDir & "\PortableApps\FirefoxPortable", 1)
    MsgBox(1, "PortableApps", "Programm FirefoxPortable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    If BitAND(GUICtrlRead($aCkbColumn3[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    DirCreate(@DesktopDir & "\PortableApps\VLCPortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\VLCPortable", @DesktopDir & "\PortableApps\VLCPortable", 1)
    MsgBox(1, "PortableApps", "Programm Vlc Media Player Portable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    If BitAND(GUICtrlRead($aCkbColumn3[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    DirCreate(@DesktopDir & "\PortableApps\TeamViewerPortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\TeamViewerPortable", @DesktopDir & "\PortableApps\TeamViewerPortable", 1)
    MsgBox(1, "PortableApps", "Programm TeamViewer Portable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    If BitAND(GUICtrlRead($aCkbColumn3[3]), $GUI_CHECKED) = $GUI_CHECKED Then
    DirCreate(@DesktopDir & "\PortableApps\7-ZipPortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\7-ZipPortable", @DesktopDir & "\PortableApps\7-ZipPortable", 1)
    MsgBox(1, "PortableApps", "Programm 7-Zip Portable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    If BitAND(GUICtrlRead($aCkbColumn3[4]), $GUI_CHECKED) = $GUI_CHECKED Then
    DirCreate(@DesktopDir & "\PortableApps\OpenOfficePortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\OpenOfficePortable", @DesktopDir & "\PortableApps\OpenOfficePortable", 1)
    MsgBox(1, "PortableApps", "Programm OpenOffice Portable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    If BitAND(GUICtrlRead($aCkbColumn3[5]), $GUI_CHECKED) = $GUI_CHECKED Then
    DirCreate(@DesktopDir & "\PortableApps\ThunderbirdPortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\ThunderbirdPortable", @DesktopDir & "\PortableApps\ThunderbirdPortable", 1)
    MsgBox(1, "PortableApps", "Programm Thunderbird Portable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    If BitAND(GUICtrlRead($aCkbColumn3[6]), $GUI_CHECKED) = $GUI_CHECKED Then
    DirCreate(@DesktopDir & "\PortableApps\FoxitReaderPortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\FoxitReaderPortable", @DesktopDir & "\PortableApps\FoxitReaderPortable", 1)
    MsgBox(1, "PortableApps", "Programm FoxitReader Portable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    If BitAND(GUICtrlRead($aCkbColumn3[7]), $GUI_CHECKED) = $GUI_CHECKED Then
    DirCreate(@DesktopDir & "\PortableApps\FileZillaPortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\FileZillaPortable", @DesktopDir & "\PortableApps\FileZillaPortable", 1)
    MsgBox(1, "PortableApps", "Programm FileZilla Portable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    If BitAND(GUICtrlRead($aCkbColumn3[8]), $GUI_CHECKED) = $GUI_CHECKED Then
    DirCreate(@DesktopDir & "\PortableApps\SpybotPortable\")
    Sleep(500)
    DirCopy(@ScriptDir & "\PortableApps\SpybotPortable", @DesktopDir & "\PortableApps\SpybotPortable", 1)
    MsgBox(1, "PortableApps", "Programm Spybot Portable wurde in den PortableApps Ordner integriert", 3)
    EndIf
    ;>>>>Spalte3
    EndFunc ;==>_softwareInstall
    #ce##
    Func _ende()
    Exit
    EndFunc ;==>_ende

    Einmal editiert, zuletzt von Osiris (18. Mai 2011 um 10:22)

  • Du hast mich mit deinem unübersichtlichem und teilweise sinnlosen Programmcode erfolgreich verwirrt... 8|
    Ich weis nicht ob dir das weiterhilft, weil ich nur raten kann was genau du willst, aber du kannst eine Schleife auch mit ExitLoop verlassen.

  • ich will die schleife ja nicht verlassen ich möchte lediglich wenn das prog vorhanden ist das ich die möglihkeit habe das alte zu deinstallieren und dann
    das neue zu installieren.
    Nur wenn ich es wie in code 1mache laufen die install und uninstall gleichzeitig
    das wollte ich verhindern

  • Bei deinem jetzigen Code machen die 2 While Schleifen absolut keinen Unterschied... Du setzt zuerst die Bedingung für die While Schleife auf wahr, aber sobald sie beginnt, setzt du sie wieder auf falsch. Somit verliert die Schleife ihren Sinn...

  • hm ok mir wäre es ja auch lieber ohne die schleifen ,
    nur dann habe ich das Prob.mit den 2gleichzeitigen uninst/inst routinen
    Außerdem muss ih gestehen blicke ich noch nicht so ganz durch bei den schleifen habe es mir iwie zusammen gebaut :whistling:
    Gibt es ne andere lösung für mein Prob?

    [autoit]

    RunWait($7zip & "\Uninstall.exe /S ")
    RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")

    [/autoit]


    das die nacheinander durchlaufen und nicht gleichzitig

  • Ich kann mir nicht vorstellen, wieso die gleichzeitig ablaufen sollten... RunWait pausiert das Script bis der ausgeführte Prozess beendet wird. Du kannst ja mal versuchen eine Wartezeit zwischen den Befehlen einzubauen (Sleep(1000) oder so).

  • klar wenn ich ne sleep setze ginge es schon nur sollte dies ja ohne auch möglich sein
    Kann es evtl am DualCore PC liegen??
    anbei das Fehler Bild
    Achja bei VLC kommt diese Abfrage immer beim start wenn noch eine andere Version vorhanden ist, ist also die install

  • also soweit gebe ich Dir recht das AutoIt wartet aber wie kannst Du mir dann das auf dem bild erklären dass beide aktiv sind?

  • Hi,
    das Problem mit den beiden Fenstern hatte ich auch erst, dann aber mit der Uninstall /S Variante gelöst. Eben habe ich es noch einmal mit der Version probiert (ohne weiteren Code) und es hat funktioniert. Durch die Silentdeinstall habe ich erst garkein Fenster sehen können.

    Spoiler anzeigen
    [autoit]


    #cs
    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

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

    _SoftwareInstall_7zip()

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

    Func _SoftwareInstall_7zip()
    Local $7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "Path"), _
    $version7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "DisplayName")

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

    If Not FileExists($7zip & "\7zFM.exe") Then RunWait(@ScriptDir & "\7z920.exe")
    If FileExists($7zip & "\7zFM.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "7-Zip " & $version7zip & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6 ;ja
    RunWait($7zip & "\Uninstall.exe /S ")
    RunWait(@ScriptDir & "\7z920.exe")
    Case 7 ;nein
    RunWait(@ScriptDir & "\7z920.exe")
    EndSwitch
    EndIf
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_7zip

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

    MsgBox(0, " ;)", "Bitteschön !" & @TAB)
    Exit
    #ce

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

    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

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

    _SoftwareInstall_vlc()

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

    Func _SoftwareInstall_vlc()
    Local $VLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "InstallDir"), _
    $versionVLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "Version")

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

    ConsoleWrite($versionVLN & " " & $VLN)

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

    If Not FileExists($VLN & "\vlc.exe") Then RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe")
    If FileExists($VLN & "\vlc.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "VLC " & $versionVLN & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6 ;ja
    RunWait($VLN & "\uninstall.exe /S ")
    RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe")
    Case 7 ;nein
    RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe")
    EndSwitch
    EndIf
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_vlc

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

    MsgBox(0, " ;)", "Bitteschön !" & @TAB)
    Exit

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

    ; Ende

    [/autoit]
  • Da es in AutoIt keine Sprungmarken gibt bekommst du auch keine Sprungmarken-Wabrings sondern Warnings und später vielleicht auch Errors für fehlende Variablendeklaration. Deklariere also am Anfabg nach den Includes die beiden Variablen und das Problem ist zumindest AU3Check technisch gelöst.

    mfg autoBert

  • So dann hier auch mal ein Lösungsvorschlag von mir zu dem doch recht Wirr beschriebene Problem:

    Spoiler anzeigen
    [autoit]

    _SoftwareInstall_7zip()

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

    Func _SoftwareInstall_7zip()
    If BitAND(GUICtrlRead($aCkbColumn1[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "Path"), _
    $version7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "DisplayName")

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

    If FileExists($7zip & "\7zFM.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "7-Zip " & $version7zip & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6 ;ja
    RunWait($7zip & "\Uninstall.exe /S ")
    RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    Case 7 ;nein
    RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    EndSwitch
    Else
    RunWait(@ScriptDir & "\Software\7zip\7-Zip.exe")
    EndIf
    EndIf
    EndFunc

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • @ RR04 ist ein Lösungsweg ,wobei der /s meines wissens nicht bei allen uninstall funzt ( aber ich teste es mal) :thumbup:
    @autoBert hm ok wusste doch dass ich was falsch machte auch dies werde ich in AutoIt testen :thumbup:
    @ chip muss mich entschuldigen dass ich mich etwas unglücklich ausgedrückt habe ;(
    erstmal danke für eure Hilfe machemich un draran es umzusetzen ;)

  • Hi, hier mal eine mögl. Lösung zu VLC für 7-zip hab ich mal drinen gelassen ! ;)

    [autoit]


    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

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

    _SoftwareInstall_vlc()

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

    Func _SoftwareInstall_vlc()
    ;! If BitAND(GUICtrlRead($aCkbColumn1[0]), $GUI_CHECKED) = $GUI_CHECKED Then ;i zum testen auskommentiert
    Local $VLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "InstallDir"), _
    $versionVLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "Version")

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

    If Not FileExists($VLN & "\vlc.exe") Then RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe") ;i Hier Anpassungen vornehmen!
    If FileExists($VLN & "\vlc.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "VLC Media Player " & $versionVLN & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6 ;ja ########################################################################
    RunWait($VLN & "\uninstall.exe /S ")
    If FileExists(@AppDataDir & "\VLC") Then DirRemove(@AppDataDir & "\VLC", 1)
    If FileExists(@ProgramsDir & "\VideoLAN") Then DirRemove(@ProgramsDir & "\VideoLAN", 1)
    If MsgBox(32 + 4, "Installation", "Die Deinstallation war erfolgreich !" _
    & @TAB & @CRLF & @CRLF & "Möchten Sie mit der Installation fortfahren ?" & @TAB) = 6 Then _
    RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe") ;i Hier Anpassungen vornehmen!
    Case 7 ;nein ######################################################################
    RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe") ;i Hier Anpassungen vornehmen!
    EndSwitch
    EndIf
    ;! EndIf ;i zum testen auskommentiert
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_vlc

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

    MsgBox(0, " ;)", "Bitteschön !" & @TAB)
    Exit

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

    ;i Beschreibung:
    ;i Die Uninstallroutine von VLC greift nicht in den Userbereich ein,
    ;i wodurch bei der Neuinstallation immernoch ein "installierter VLC" erkannt sein will !
    ;i Eine mögliche Lösung z.B.:
    ;i If FileExists(@AppDataDir & "\VLC") Then DirRemove(@AppDataDir & "\VLC", 1)
    ;i If FileExists(@ProgramsDir & "\VideoLAN") Then DirRemove(@ProgramsDir & "\VideoLAN", 1)
    ;i If MsgBox(32 + 4, "Installation", "Deinstallation war erfolgreich !" _
    ;i & @TAB & @CRLF & @CRLF & "Möchten Sie mit der Installation fortfahren ?" & @TAB) = 6 Then _
    ;i RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe") ;i Hier Anpassungen vornehmen!
    #cs

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

    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

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

    _SoftwareInstall_7zip()

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

    Func _SoftwareInstall_7zip()
    ;! If BitAND(GUICtrlRead($aCkbColumn1[1]), $GUI_CHECKED) = $GUI_CHECKED Then ;i zum testen auskommentiert
    Local $7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "Path"), _
    $version7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", "DisplayName")

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

    If Not FileExists($7zip & "\7zFM.exe") Then RunWait(@ScriptDir & "\7z920.exe") ;i Hier Anpassungen vornehmen!
    If FileExists($7zip & "\7zFM.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "7-Zip " & $version7zip & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6 ;ja
    RunWait($7zip & "\Uninstall.exe /S ")
    RunWait(@ScriptDir & "\7z920.exe") ;i Hier Anpassungen vornehmen!
    Case 7 ;nein
    RunWait(@ScriptDir & "\7z920.exe") ;i Hier Anpassungen vornehmen!
    EndSwitch
    EndIf
    ;! EndIf ;i zum testen auskommentiert
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_7zip

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

    MsgBox(0, " ;)", "Bitteschön !" & @TAB)
    Exit

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

    ;i Das hier gezeigte Script für 7-zip ist bei mir funktionstüchtig, keine Fenster da Silentdeinstall !
    #ce

    [/autoit][autoit][/autoit][autoit][/autoit]
  • okkkkk supi hatte es anders gelöst aber das gefällt mir sehr viel besser
    :thumbup: :thumbup: :thumbup: :thumbup:
    ich hatte es mit sleep getestet und noch über ne scriptdir uninstall
    gefiel mir aber beides nicht so sonderlich gut :whistling: :whistling:
    nice work RR04 hoffe komme irgendwann auch mal von selbst auf solche lösungswege

    Wobei ich noch ne Frage hätte , wäre es nicht besser anstatt

    [autoit]

    If FileExists(@ProgramsDir & "\VideoLAN") Then DirRemove(@ProgramsDir & "\VideoLAN", 1)

    [/autoit]


    lieber

    [autoit]

    If FileExists(@ProgramfilesDir & "\VideoLAN") Then DirRemove(@ProgramfilesDir & "\VideoLAN", 1)

    [/autoit]

    zu machen , da wenn ich obriges ausführe löscht er zwar die vlc.exe bleibt der Ordner dennoch bestehen

    Einmal editiert, zuletzt von Osiris (18. Mai 2011 um 19:11)

  • [autoit]


    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #cs
    _SoftwareInstall_vlc()

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

    Func _SoftwareInstall_vlc()
    ;! If BitAND(GUICtrlRead($aCkbColumn1[0]), $GUI_CHECKED) = $GUI_CHECKED Then ;i zum testen auskommentiert
    Local $VLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "InstallDir"), _
    $versionVLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "Version")

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

    If Not FileExists($VLN & "\vlc.exe") Then RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe") ;i Hier Anpassungen vornehmen!
    If FileExists($VLN & "\vlc.exe") Then
    Local $Message = MsgBox(32 + 4, "Installation", "VLC Media Player " & $versionVLN & " ist bereits installiert !" _
    & @TAB & @CRLF & @CRLF & "Soll das Programm deinstalliert werden ?" & @TAB)
    Switch $Message
    Case 6 ;ja ########################################################################
    RunWait($VLN & "\uninstall.exe /S ")
    If FileExists(@AppDataDir & "\VLC") Then DirRemove(@AppDataDir & "\VLC", 1)
    If FileExists(StringTrimRight($VLN, 4)) Then DirRemove(StringTrimRight($VLN, 4), 1)
    If MsgBox(32 + 4, "Installation", "Die Deinstallation von VLC " & $versionVLN & " war erfolgreich !" _
    & @TAB & @CRLF & @CRLF & "Möchten Sie mit der Installation fortfahren ?" & @TAB) = 6 Then _
    RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe") ;i Hier Anpassungen vornehmen!
    Case 7 ;nein ######################################################################
    RunWait(@ScriptDir & "\vlc-1.1.9-win32.exe") ;i Hier Anpassungen vornehmen!
    EndSwitch
    EndIf
    ;! EndIf ;i zum testen auskommentiert
    Sleep(1000)
    EndFunc ;==>_SoftwareInstall_vlc
    #ce

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

    Global $VLN = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VideoLAN\VLC", "InstallDir")
    MsgBox(0, "Der RegistryPfad", "Bitteschön : " & $VLN & @TAB)
    Global $result = StringTrimRight($VLN, 4)
    MsgBox(0, "Der RegistryPfad ohne die 4 rechten Zeichen: ", "Bitteschön : " & $result & @TAB)
    ;! If FileExists($result) Then DirRemove($result, 1)
    Exit

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

    ;i Beschreibung:
    ;i Natürlich hast Du mit "If FileExists(@ProgramFilesDir & "\VideoLAN") Then DirRemove(@ProgramFilesDir & "\VideoLAN", 1)"
    ;i Recht, dennoch ist die Lösung nur grob richtig!
    ;i Denn :
    ;i Das Ganze mal logisch betrachtet haben wir den Pfad/InstallOrt bereits festgestellt
    ;i und wollen jetzt plötzlich möglicherweise den Ordner wo anders löschen ?
    ;i Besser den bereits bekannten Pfad anpassen, also einkürzen mit "StringTrimRight($VLN, 4)" !

    [/autoit][autoit][/autoit][autoit][/autoit]
  • guten morgen RR04 ;)
    Danke für einen erneuten Lösungsweg :thumbup:
    muss erstmal deinen alten lösungsweg verinnerlichen :whistling: mit dem ich im mom gut zurecht komme
    , leider lassensich nicht alle Progs aus der Reg lesen, ist aber kein prob dann frag ich halt ProgrammFilesDir ab ;)