Hallo Leute nach Std langer suche bin ich leidernnicht fündig geworden um mein Prob zu lösen.
Evtl hat ja einer von Euch Plan was danicht ganz stimmt im script bzw im regPfad
also bei der 1 Abfrage VLC klappt alles mit install und auch mit der Uninstall
nur bei der 2 (Ashampoo) fragt er die reg nicht ab bzw erfindet denPfad nicht
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_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>
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()
MsgBox(64, "Installation", "Die Installation ist abgeschlossen !" & @TAB) ;i Erfolgsmeldung!
Exit ;i Beenden
EndFunc ;==>_install
Func _softwareInstall()
;i ist die Checkbox mit Namen "$aCkbColumn1[0]" aktiv, wenn ja dann ...
;<<<<Spalte1
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")
;i ... Abfrage ob VLC schon auf dem PC unter VideoLAN installiert ist ...
If FileExists($VLN & "\vlc.exe") Then
;i ... dann ermittle die installierte Version von VLC ...
ConsoleWrite("VLC media player " & $versionVLN & " ist installiert" _
& @CRLF & " und befindet sich in: " & $VLN & "\vlc.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", "VLC media player " & $versionVLN & _
" ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
"Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($VLN & "\uninstall.exe")
;i ... Anfrage ob VLC schon auf dem PC unter VLC installiert ist ...
ElseIf FileExists($VLC & "\vlc.exe") Then
;i ... dann ermittle die installierte Version von VLC ...
ConsoleWrite("VLC media player " & $versionVLN & " ist installiert" _
& @CRLF & " und befindet sich in: " & $VLN & "\vlc.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", "VLC media player " & $versionVLC & _
" ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
"Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($VLC & "\uninstall.exe")
Else
;i VLC aus Deinem Softwarepool installieren!
RunWait(@ScriptDir & "\Software\vlc\vlc.exe")
EndIf
EndIf
;If BitAND(GUICtrlRead($aCkbColumn1[1]), $GUI_CHECKED) = $GUI_CHECKED Then
;If BitAND(GUICtrlRead($aCkbColumn1[2]), $GUI_CHECKED) = $GUI_CHECKED Then
;If BitAND(GUICtrlRead($aCkbColumn1[3]), $GUI_CHECKED) = $GUI_CHECKED Then
If BitAND(GUICtrlRead($aCkbColumn1[4]), $GUI_CHECKED) = $GUI_CHECKED Then
Local $Ashampoo = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Ashampoo\Ashampoo Burning Studio 2010 Advanced", "InstallDir"), _
$versionAshampoo = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Ashampoo\Ashampoo Burning Studio 2010 Advanced", "Version")
If FileExists($Ashampoo & "\burningstudio2010adv.exe") Then
;i ... dann ermittle die installierte Version von VLC ...
ConsoleWrite("Ashampoo Burning " & $versionAshampoo & " 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 Burning " & $versionAshampoo & _
" ist bereits installiert !" & @TAB & @CRLF & @CRLF & _
"Soll das Programm deinstalliert werden ?" & @TAB) = 6 Then RunWait($Ashampoo & "\unins000.exe")
;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)
;>>>>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
Func _ende()
Exit
EndFunc ;==>_ende
Also bei screen 1 geht die abfrage obwohl vlc da nicht steht
selbts mir der Abfrage
[autoit]Local $Ashampoo = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Ashampoo\Ashampoo Burning Studio 2010 Advanced", "InstallDir"), _
$versionAshampoo = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Ashampoo\Ashampoo Burning Studio 2010 Advanced", "Version")
klappe es nicht