Hallo Forum,
ich habe mal einen ganz einfachen kleinen Setup zusammengebastelt, und dazu auch gleich den Uninstaller. Das Setup ist nur ein ganz einfaches Setup, es kopiert die gewünschten Dateien in den gewünschten Ordner und der Uninstaller entfernt es natürlich daraus.
Ich habe das Setup anhand einer GUI dargestellt, mit einer Progressbar, die Ladezeit der Progressbar richtet sich in diesem Fall nicht auf die Dateigröße der zu kopierenden Dateien, sondern einfach eine manuell eingestellte Zeit, damit es nach etwas aussieht sonst wäre das Setup wahrscheinlich viel zu schnell durch.
Hier das Script des Setups:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#RequireAdmin
[/autoit] [autoit][/autoit] [autoit]; Author: Facemix (http://www.autoit.de)
[/autoit] [autoit][/autoit] [autoit]Global $Progname = "dein_programm"
Global $Filename = "programm.exe"
If FileExists(@ProgramFilesDir & "\" & $Progname & "\") Then
$frage1 = MsgBox(52, $Progname & " Setup", "Diese Version ist bereits auf Ihrem System installiert, möchten Sie es Deinstallieren?")
If $frage1 = 6 Then
;Hier noch die GUI zum Deinstallieren einfügen----
FileDelete(@ProgramFilesDir & "\" & $Progname & "\)
ElseIf $frage1 = 7 Then
MsgBox(0, $Progname & " Setup", "Das Setup wurde durch den Benutzer abgebrochen!")
Exit
EndIf
Else
$frage2 = MsgBox(52, "Setup", $Progname & " wird nun direkt installiert, sind Sie damit einverstanden?")
[/autoit] [autoit][/autoit] [autoit]If $frage = 6 Then
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Setup dein_programm", 357, 86, 192, 127)
$Label1 = GUICtrlCreateLabel($Progname & " wird nun direkt installiert!", 8, 8, 343, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Progress1 = GUICtrlCreateProgress(8, 48, 342, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
_filecopy()
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_exit()
EndSwitch
WEnd
ElseIf $frage = 7 Then
MsgBox(0, $Progname & " Setup", "Das Setup wurde durch den Benutzer abgebrochen!")
_exit()
EndIf
Func _filecopy()
For $i = 0 to 100 Step 1
GUICtrlSetData($Progress1, $i)
Sleep(50)
Next
FileCopy(@ScriptDir & "\" & $Progname & "\" & $Filename, @ProgramFilesDir & "\" & $Progname & "\")
Sleep(100)
MsgBox(0, "Setup " & $Progname, $Progname & " wurde erfolgreich installiert!")
Exit
EndFunc
EndIf
[/autoit] [autoit][/autoit] [autoit]Func _exit()
Exit
EndFunc
Und der Uninstaller auch gleich, der ist genauso aufgebaut, wie das Setup selber...
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#RequireAdmin
[/autoit] [autoit][/autoit] [autoit]; Author: Facemix (http://www.autoit.de)
[/autoit] [autoit][/autoit] [autoit]$frage = MsgBox(52, "Uninstall dein_programm", "Sind Sie sich sicher, dass Sie dein_programm entfernen möchten?")
[/autoit] [autoit][/autoit] [autoit]If $frage = 6 Then
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Uninstall dein_programm", 354, 85, 192, 124)
$Label1 = GUICtrlCreateLabel("dein_programm wird nun deinstalliert!", 8, 8, 335, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Progress1 = GUICtrlCreateProgress(8, 48, 334, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
_filedelete()
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
ElseIf $frage = 7 Then
MsgBox(0, "Uninstall dein_programm", "Setup wurde durch den Benutzer abgebrochen!" & @CRLF & "Keine Dateien wurden entfernt!")
EndIf
Func _filedelete()
For $i = 0 To 100 Step 1
GUICtrlSetData($Progress1, $i)
Sleep(100)
Next
FileDelete(@ProgramFilesDir & "\dein_programm\")
EndFunc
Leider habe ich noch keine Möglichkeit gefunden, den Uninstaller nach der Installation des Programms hier drin erscheinen zu lassen:
[Blockierte Grafik: http://h10010.www1.hp.com/ewfrf-JAVA/Doc/images/923/c01860850.gif]
Wenn hierzu jemand was weis, würde ich mich freuen wenn das Wissen geteilt wird
Ansonsten könnt ihr gerne bisschen Kritik für den sehr einfachen Setup hinterlassen. (Beachtet bei eurer Kritik bitte, dass es wirklich ein sehr sehr einfacher Setup ist )