ganz einfacher Setup

  • 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
    [autoit]

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

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

    #RequireAdmin

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

    ; Author: Facemix (http://www.autoit.de)

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

    Global $Progname = "dein_programm"
    Global $Filename = "programm.exe"

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

    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

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

    $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 ###

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

    _filecopy()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _exit()

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

    EndSwitch
    WEnd

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

    ElseIf $frage = 7 Then
    MsgBox(0, $Progname & " Setup", "Das Setup wurde durch den Benutzer abgebrochen!")
    _exit()
    EndIf

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

    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

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

    EndIf

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

    Func _exit()
    Exit
    EndFunc

    [/autoit]

    Und der Uninstaller auch gleich, der ist genauso aufgebaut, wie das Setup selber...

    Spoiler anzeigen
    [autoit]

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

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

    #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 ###

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

    _filedelete()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    ElseIf $frage = 7 Then
    MsgBox(0, "Uninstall dein_programm", "Setup wurde durch den Benutzer abgebrochen!" & @CRLF & "Keine Dateien wurden entfernt!")
    EndIf

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

    Func _filedelete()
    For $i = 0 To 100 Step 1
    GUICtrlSetData($Progress1, $i)
    Sleep(100)
    Next
    FileDelete(@ProgramFilesDir & "\dein_programm\")
    EndFunc

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

    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 :D :D )

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

    Einmal editiert, zuletzt von Facemix (24. Dezember 2012 um 11:51)

  • Hallo,

    damit es in "Programme und Funktionen" auftaucht muss man einen Eintrag in der Registry machen.
    zB. so in der Form:

    [autoit]

    #RequireAdmin
    RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Test", "DisplayName", "REG_SZ", "au3_uninstaller_test")
    RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Test", "UninstallString", "REG_SZ", "C:\Program Files\Test\uninstall_test.exe")

    [/autoit]


    Die Pfade muss man dann natürlich anpassen.
    Aber dann sollte man auch darauf achten das es bei einem Uninstall wieder entfernt wird.

    mfg
    oh-ha

    Es gibt drei Wahrheiten: deine Wahrheit, meine Wahrheit und die Wahrheit

  • oh-ha,
    danke für deine Hilfe dafür, ich werde dies im laufe des Tages mal noch anpassen und werde natürlich dies in meinem ersten Post aktualisieren :)

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

  • Ich möchte dir ja nicht zu nahe treten Facemix, aber im Grunde sind das doch nur 2 Koda-GUIs die durch einen einzigen File-Befehl (Copy/Delete) ergänzt wurden... ?( Noch dazu wird das Programm bei einem versehentlichen zweiten Starten des "Setups" wieder gelöscht?! 8| Außerdem: Was ist wenn ich mehrere Dateien installieren möchte? :P Ansonsten solltest du dieses "dein_programm" und die Pfade durch Globale Variablen oä. ersezen, damit man nicht länger dafür braucht das "Setup" umzuschreiben, als es komplett selbst zusammen zu klicken... Du siehst, da gibt es noch einiges zu tun...

    LG
    Christoph :)

  • BinDannMalWeg,
    wie gesagt es ist ein ganz einfaches Setup und vielleicht ne 5 Minuten arbeit :D

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

  • wie gesagt es ist ein ganz einfaches Setup und vielleicht ne 5 Minuten arbeit

    Daraus schließe ich jetzt mal, dass du nicht vor hast, dein Script noch groß zu verändern/-bessern?! Aber wieso stellst du solch ein Scriptchen dann überhaupt online? :huh: Oder besser gesagt was erhoffst du dir davon? Denn aus dieser "5 Minuten Arbeit" wird wohl keiner was lernen oder? :whistling:

    LG
    Christoph :)

  • dass ich noch das Script etwas ausbaue, ist nicht ausgeschlossen :) ...

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

  • BinDannMalWeg,

    habe nun in meinem ersten Post das Setup optimiert, dass wenn das Setup versehentlich ein 2. mal geöffnet wird, dann wird das Programm nicht gelöscht jedenfalls nicht wenn man es nicht möchte, auch habe ich Globale Variablen gesetzt, dass man nicht so viel umschreiben muss sondern nur die Globalen Variablen

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin

  • Zitat aus dem Uninstaller:

    [autoit]


    Func _filedelete()
    For $i = 0 To 100 Step 1
    GUICtrlSetData($Progress1, $i)
    Sleep(100)
    Next
    FileDelete(@ProgramFilesDir & "\dein_programm\")
    EndFunc

    [/autoit]


    Äh... Microsoft machts so ähnlich, aber irgendwie ist das albern. :rofl:
    Übrigens: muss ein Programm unbedingt in den "Programme" Ordner ?
    Ich mag meine Installer etwas flexibler, z.B. wenn "C:\" nicht genug Platz übrig hat (ist ne 120 GB SSD).

    Wer andern eine Bratwurst brät
    der hat ein Bratwurstbratgerät.

  • ohforf,

    das was ich da zamgeschrieben hab ist ein ganz einfacher Setup, also kein super Installationassistent, das weiß ich, aber was du gerade angesprochen hast kann ich ja in meinen nächsten Versionen mit einbauen :)

    MfG, Facemix

    meine Spezialität: Windowstools für eine leichtere Arbeit am PC

    Nicht veröffentlicht


    nicht veröffentlichte Programme von mir

    - FTP Filereader
    - Youtube Kanal Player
    -GDI+ Countdown (bis zu einem Wunderbaren ereignis :) )

    MyPastebin