• So, da ich heute im Forum einen Setup-Thread gesehen habe, dachte ich mir, das kann ich auch, und hoffentlich (Feedback ;) ) besser.
    In der ZIP ist die Au3-Daei, die ini-Datei, die ihr beliebig anpassen könnt, eine leere(!) Lizenzdatei sowie ein Testordner DATA, in den die zu installierenden Dateien reinkommen.
    Ich bitte um Namensnennung bei eventueller Verwendung.
    Ich benutze die _FileListTreeToArray-Funktion von senthor.

    Features


    Voll customisierbar, mit Ini und Lizenzdatei (updated)
    inkl. Bild :)
    Weiche Überblendungen zwischen den Schritten (probierts aus)
    Wenn erwünscht (-->Ini) Mögliuchkeit zur eintragung in den Autostart
    "Nach Fertigstellen öffnen"-Funktion
    Abbruch-Sicherheitsabfrage added
    EULA-Fehler behoben.
    Uninstallregisrtrierung
    Helpfile:)
    NEU in dieser Version:
    Serialunterstützung

    Wishlist


    von mir:
    von euch:
    Serial (erledigt)

    Helpfile zum Ini-system

    HELPFILE zum Ini-System.
    3 Möglichkeiten:
    Keine ini-Datei:
    In dem Fall macht das Setup alles mit Standartvorgaben (nicht empfohlen)
    1 ini-Datei:
    Möchtet ihr keinen Multi-languagesupport bieten, genügt eine ini-Datei
    Sie MUSS "install.ini" heißen.
    Ignoriert die Zeichen * und +, alles kommt in die "install.ini"
    2 ini-Dateien:
    Möchtet ihr Multi-languagesupport bieten, braucht ihr mindestens drei ini-Dateien:
    "install.ini" (für das Definieren der verschiedenen Sprachen)
    2 Sprach-ini-Dateien, z.B. "de.ini" und "en.ini", in denen die Infos jeweils sprachspezifisch stehen.
    In den Sprachinis stehen Eigenschaften, die ich mit * gekennzeichnet habe
    in der install.ini stehen Eigenschaften, die ich mit + gekennzeichnet habe
    Los geht's:
    [global]
    + langtitle Titel der Sprachauswahl, z.B. Choose Language
    + langprompt Text der Sprachauswahl, z.B. Please choose your language.
    + langs Alle Sprachkürzel mit |-Trenner, z.B. de|en|dk :)
    + company "Firma", also z.B. MyScripts
    + program Programmname ohne Versionsnummer, z.B. MyBadbadBot :) ;Der Installationsordner ist standartmäßig @Programfiles\company\program
    + url Herstellerwebsite, z.B. http://www.autoit.de (incl http://)
    + forcedprognameaslastdir Wahrheitswert (1=True;0=False) Dieser gibt an, ob der letzte Ordner in der Installordnerhierarchie der des Programmnamens sein muss
    + autostartpossible Wahrheitswert, ob die Checkbox "Autostart?" angezeigt wird.
    + exePath relativer Pfad zur exe, innerhalb von DATA. Wird für z.B. Autostart und nach-der-Installation-ausführen benötigt, z.B. program.exe
    + uninstall relativer Pfad zur deinstall-exe, innerhalb von DATA. Wird für Deinstallationseintrag benötigt, z.B. program.exe -uninstall
    + registeruninstall Wahrheitswert, ob ein Deinstallationseintrag registriert werden soll.
    + version Version, z.B. 1.0
    * licensefile Eula/Lizenzdatei, z.B. EULA.txt (im Ordner selbst, nicht im DATA-Ordner) Ihr könnt natürlich pro Sprache eine EULA machen
    * picture Linkes Bild, 150*450px, bmp/jpg, z.B. topleft.bmp
    * title Titel des Setups, z.B. Setup - "iPhones abballern"-Spiel :)
    * cancelwarning Text beim Versuch zu beenden, z.B. Möchten Sie das Setup wirklich abbrechen?
    [welcome]
    * text Text der ersten Seite, z.B. Willkommen
    * errortext Text, der zusätzlich kommt, wenn man ablehnt, z.B. Sie müssen die Bedingungen akzeptieren, wenn Sie das Programm installieren möchten.
    [options]
    * text Text der zweiten Seite, z.B. Wählen Sie die Optionen
    [installation]
    * text Text während der Installation, z.B. Installation läuft...
    [finalize]
    * text Text beim abschließenden Fenster, z.B. Installation abgeschlossen


    Achtung: Code ist nur zum Angucken gedacht, wenn ihrs ausprobieren wollt, ladet bitte die ZIP incl. EULA & ini

    code
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GuiEdit.au3>
    #include <EditConstants.au3>
    #include <FileEx.au3> ; by senthor (autoit.de)
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region CONFIGVARS
    $CFGLangTitle=IniRead("install.ini","global","langtitle","Choose language")
    $CFGLangPrompt=IniRead("install.ini","global","langprompt","Please choose your language.")
    $CFGini=_lang(StringSplit(IniRead("install.ini","global","langs","de"),"|")) & ".ini"
    $CFGlegaltxt=IniRead($CFGini,"global","licensefile","EULA.txt")
    $CFGlegal=FileRead($CFGlegaltxt)
    $CFGPic=IniRead($CFGini,"global","picture","topleft.bmp")
    $CFGTitle=IniRead($CFGini,"global","title","Setup")
    $CFGVersion=IniRead($CFGini,"global","version","1.0")
    $CFGWelcomeText=IniRead($CFGini,"welcome","text","Willkommen")
    $CFGOPtionsText=IniRead($CFGini,"options","text","Wählen Sie die Optionen")
    $CFGLicenseAcceptText=IniRead($CFGini,"welcome","errortext","Sie müssen die Bedingungen akzeptieren, wenn Sie das Programm installieren möchten.")
    $CFGInstallText=IniRead($CFGini,"installation","text","Installation läuft...")
    $CFGFinalizeText=IniRead($CFGini,"finalize","text","Installation abgeschlossen")
    $CFGCancelWarning=IniRead($CFGini,"global","cancelwarning","Möchten Sie das Setup wirklich abbrechen?")
    $CFGcompany=IniRead("install.ini","global","company","AutoItScript")
    $CFGprogname=IniRead("install.ini","global","program","MyProgram")
    $CFGurl=IniRead("install.ini","global","url","http://www.autoit.de")
    $CFGlastFOLDERhastobemine=IniRead("install.ini","global","forcedprognameaslastdir",False)
    $CFGAutoStartPoss=IniRead("install.ini","global","autostartpossible",False)
    $CFGAutoStartExe=IniRead("install.ini","global","exePath","")
    $CFGuninstall=IniRead("install.ini","global","uninstall","")
    $CFGregisteruninstall=IniRead("install.ini","global","registeruninstall",0)
    $CFGkey=IniRead("install.ini","global","useserial",False)
    #EndRegion CONFIGVARS
    Global $next=1,$folder,$finalize=False,$KEY=""
    ;DEBUG:
    If $CFGkey Then _getkey()
    #Region ### START Koda GUI section ### Form=
    $SetupGUI = GUICreate($CFGTitle, 633, 451, 193, 125)
    $picleft = GUICtrlCreatePic($CFGPic, 0, 0, 150, 450, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Label = GUICtrlCreateLabel($CFGWelcomeText, 168, 16, 500, 50)
    $legaledit = GUICtrlCreateEdit("", 160, 96, 457, 305,BitOr($WS_VSCROLL,$ES_READONLY))
    GUICtrlSetData(-1, $CFGlegal)
    $folderinput=GUICtrlCreateInput(@ProgramFilesDir & "\" & $CFGcompany & "\" & $CFGprogname,160,96,250,20,$ES_READONLY)
    $folderbutton=GUICtrlCreateButton("Durchsuchen...",415,96,100,20)
    $autostartCheckBox=GUICtrlCreateCheckbox("Automatisch mit Windows starten",200,196,250)
    $installprogressbar=GUICtrlCreateProgress(160,408,457)
    $forwardbutton = GUICtrlCreateButton("Ich stimme zu >", 472, 408, 145, 33, 0)
    GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
    $backbutton = GUICtrlCreateButton("Ich lehne ab", 312, 408, 153, 33, 0)
    $cancelbutton = GUICtrlCreateButton("Abbrechen", 160, 408, 145, 33, 0)
    GUICtrlSetState($folderbutton,$GUI_HIDE)
    GUICtrlSetState($installprogressbar,$GUI_HIDE)
    GUICtrlSetState($folderinput,$GUI_HIDE)
    GUICtrlSetState($autostartCheckBox,$GUI_HIDE)
    WinSetTrans($CFGTitle,"",0)
    GUISetState(@SW_SHOW)
    For $i=0 To 255 step 5
    WinSetTrans($CFGTitle,"",$i)
    Next
    #EndRegion ### END Koda GUI section ###
    $blendGUI=GUICreate("blend",633,451,Default,Default,$WS_POPUP,$WS_EX_TOOLWINDOW);,+3left,+29top
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    If MsgBox(52,$CFGTitle,$CFGCancelWarning) = 6 Then _exit()
    Case $SetupGUI
    Case $folderbutton
    $folder=FileSelectFolder("Installationsordner auswählen","",7)
    ;RegEx fehlt noch
    If $folder = "" Then ContinueLoop
    If $CFGlastFOLDERhastobemine And (StringRight($folder,Stringlen($CFGprogname)) <> $CFGprogname) Then $folder &= "\" & $CFGprogname
    $folder=StringReplace($folder,"\\","\")
    GUICtrlSetData($folderinput,$folder)
    Case $Label
    Case $legaledit
    Case $forwardbutton
    _next($next)
    Case $backbutton
    $next-=2
    _next($next)
    Case $cancelbutton
    If MsgBox(52,$CFGTitle,$CFGCancelWarning) = 6 Then _exit()
    EndSwitch
    If $finalize Then _next($next)
    WEnd
    Func _blendon()
    $pos=WinGetPos($CFGTitle)
    WinMove("blend","",$pos[0]+3,$pos[1]+29)
    WinSetTrans("blend","",0)
    GUISetState(@SW_SHOW,$blendGUI)
    WinSetOnTop("blend","",1)
    WinActivate($CFGTitle)
    For $i=0 To 255 step 5
    WinSetTrans("blend","",$i)
    Next
    EndFunc
    Func _blendoff()
    For $i=255 To 0 step -5
    WinSetTrans("blend","",$i)
    Next
    GUISetState(@SW_HIDE,$blendGUI)
    WinSetOnTop("blend","",0)
    WinActivate($CFGTitle)
    EndFunc
    Func _next(byref $next)
    _blendon()
    Switch $next
    Case 0
    GUICtrlSetState($folderbutton,$GUI_HIDE)
    GUICtrlSetState($folderinput,$GUI_HIDE)
    GUICtrlSetState($autostartCheckBox,$GUI_HIDE)
    GUICtrlSetState($legaledit,$GUI_SHOW)
    GUICtrlSetData($Label,$CFGWelcomeText & @CRLF & @CRLF & $CFGLicenseAcceptText)
    GUICtrlSetData($forwardbutton,"Ich stimme zu >")
    GUICtrlSetData($backbutton,"< Ich lehne ab")
    GUICtrlSetData($cancelbutton,"Abbrechen")
    GUICtrlSetData($legaledit, $CFGlegal)
    If $CFGkeyURL <> "" Then _getKey()
    Case 1
    GUICtrlSetState($folderbutton,$GUI_SHOW)
    GUICtrlSetState($folderinput,$GUI_SHOW)
    If $CFGAutoStartPoss Then GUICtrlSetState($autostartCheckBox,$GUI_SHOW)
    GUICtrlSetState($legaledit,$GUI_HIDE)
    GUICtrlSetData($Label,$CFGOPtionsText)
    GUICtrlSetData($forwardbutton,"Installieren >")
    GUICtrlSetData($backbutton,"< Zurück")
    GUICtrlSetData($cancelbutton,"Abbrechen")
    Case 2
    $folder=GUICtrlRead($folderinput)
    GUICtrlSetState($folderbutton,$GUI_HIDE)
    GUICtrlSetState($folderinput,$GUI_HIDE)
    GUICtrlSetState($autostartCheckBox,$GUI_HIDE)
    GUICtrlSetState($legaledit,$GUI_SHOW)
    GUICtrlSetData($Label,$CFGInstallText)
    GUICtrlSetState($cancelbutton,$GUI_HIDE)
    GUICtrlSetState($forwardbutton,$GUI_HIDE)
    GUICtrlSetState($backbutton,$GUI_HIDE)
    GUICtrlSetState($installprogressbar,$GUI_SHOW)
    ;~ GUICtrlSetData($cancelbutton,"Abbrechen")
    _install()
    $finalize=True
    ;~ _blendon()
    Case 3
    ;~ exit;DEBUG
    GUICtrlSetState($legaledit,$GUI_HIDE)
    GUICtrlSetState($installprogressbar,$GUI_HIDE)
    GUICtrlSetData($Label,$CFGFinalizeText)
    GUICtrlSetData($forwardbutton,"Fertigstellen")
    GUICtrlSetState($forwardbutton,$GUI_SHOW)
    GUICtrlSetState($autostartCheckBox,$GUI_SHOW)
    GUICtrlSetData($autostartCheckBox,"Programm beim Klick auf Fertigstellen ausführen")
    $finalize=False
    Case 4
    _finalize()
    Case Else
    $next=0
    GUICtrlSetState($folderbutton,$GUI_HIDE)
    GUICtrlSetState($folderinput,$GUI_HIDE)
    GUICtrlSetState($autostartCheckBox,$GUI_HIDE)
    GUICtrlSetState($legaledit,$GUI_SHOW)
    GUICtrlSetData($Label,$CFGWelcomeText & @CRLF & @CRLF & $CFGLicenseAcceptText)
    GUICtrlSetData($forwardbutton,"Ich stimme zu >")
    GUICtrlSetData($backbutton,"Ich lehne ab")
    GUICtrlSetData($cancelbutton,"Abbrechen")
    GUICtrlSetData($legaledit, $CFGlegal)
    EndSwitch
    $next+=1
    _blendoff()
    EndFunc
    Func _log($data=@CRLF)
    If $data = -1 Then
    GUICtrlSetData($legaledit,"")
    Return
    EndIf
    GUICtrlSetData($legaledit,GUICtrlRead($legaledit) & @CRLF & $data)
    _GUICtrlEdit_LineScroll($legaledit, 0, _GUICtrlEdit_GetLineCount($legaledit))
    EndFunc
    Func _install()
    _blendoff()
    $folder=StringReplace($folder,"\\","\")
    DirCreate($folder)
    ;~ FileCopy(@ScriptDir & "\data\*",$folder,9);So wärs zu einfach...;-)
    _log("Erstelle Liste der zu kopierenden Dateien...")
    $files=_FileListTreeToArray(@ScriptDir & "\data")
    If not IsArray($files) Then _nodata()
    For $i=1 To $files[0]
    _log("Kopiere " & $files[$i] & " ...")
    FileCopy($files[$i],$folder)
    GUICtrlSetData($installprogressbar,100*($i/$files[0]))
    sleep(100);DEBUG
    Next
    _log("Finalisieren...")
    If $CFGAutoStartPoss And GUICtrlRead($autostartCheckBox) = $GUI_CHECKED Then RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",$CFGprogname,StringReplace($CFGcompany & "\" & $CFGAutoStartExe,"\\","\"))
    If $CFGregisteruninstall and IsAdmin() and $CFGuninstall <> "" Then
    RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"DisplayName","REG_SZ",$CFGcompany & " " & $CFGprogname)
    RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"DisplayVersion","REG_SZ",$CFGversion)
    RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"Publisher","REG_SZ",$CFGcompany)
    RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"UninstallString","REG_SZ",$CFGcompany & "\" & $CFGuninstall)
    RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & $CFGcompany & " " & $CFGprogname,"URLInfoAbout","REG_SZ",$CFGurl)

    EndIf
    _log("Fertig!")
    GUICtrlSetData($installprogressbar,100)
    EndFunc
    Func _finalize()
    For $i=255 To 0 step -5
    WinSetTrans($CFGTitle,"",$i)
    Next
    If GUICtrlRead($autostartCheckBox) = $GUI_CHECKED Then Run(StringReplace($CFGcompany & "\" & $CFGAutoStartExe,"\\","\"))
    Exit
    EndFunc
    Func _exit()
    For $i=255 To 0 step -5
    WinSetTrans($CFGTitle,"",$i)
    Next
    Exit
    EndFunc
    Func _lang($langs)
    If $langs[0]=0 Then return "install"
    $langGUI = GUICreate("Choose lang", 218, 118, 451, 428) ;$CFGLangTitle
    $langCombo = GUICtrlCreateCombo(IniRead($langs[1] & ".ini","global","languagename","Standartsprache"), 40, 40, 129, 25,$CBS_DROPDOWNLIST)
    $OKButton = GUICtrlCreateButton("Ok", 8, 72, 89, 33, $BS_DEFPUSHBUTTON)
    $CancelButton = GUICtrlCreateButton("Abbrechen", 112, 72, 97, 33, 0)
    GUICtrlCreateLabel("Choose language", 8, 8, 130, 17);$CFGlangprompt
    For $i=1 To $langs[0]
    GUICtrlSetData($langCombo,IniRead($langs[$i] & ".ini","global","languagename","Standartsprache"),IniRead($langs[1] & ".ini","global","languagename","Standartsprache"))
    Next
    GUISetState(@SW_SHOW)
    While True
    Switch GUIGetMsg()
    Case $OKButton
    $chosen=GUICtrlRead($langCombo)
    For $i=1 To $langs[0]
    If Iniread($langs[$i] & ".ini","global","languagename","Standartsprache") = $chosen Then
    GUIDelete($langGUI)
    Return $langs[$i]
    EndIf
    Next
    Exit -1
    Case $CancelButton
    exit
    EndSwitch
    WEnd
    EndFunc
    Func _nodata()
    MsgBox(0,"Error","Nothing to install")
    Exit
    EndFunc
    Func _getkey()
    dim $counter =0,$num1=True,$num2=true,$num3=True,$num4=True,$num5=True,$exitloop=False
    $Form1 = GUICreate("Seriennummer eingeben", 351, 116, 505, 495)
    $Label1 = GUICtrlCreateLabel("Seriennummer eingeben", 0, 8, 345, 17,$SS_CENTER)
    $Label2 = GUICtrlCreateLabel("___________________________________________", 56, 40, 262, 17)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Input1 = GUICtrlCreateInput("", 16, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
    GUICtrlSetLimit(-1,5)
    $Input2 = GUICtrlCreateInput("", 80, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
    GUICtrlSetLimit(-1,5)
    GUICtrlSetState(-1,$GUI_DISABLE)
    $Input3 = GUICtrlCreateInput("", 144, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
    GUICtrlSetLimit(-1,5)
    GUICtrlSetState(-1,$GUI_DISABLE)
    $Input4 = GUICtrlCreateInput("", 208, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
    GUICtrlSetLimit(-1,5)
    GUICtrlSetState(-1,$GUI_DISABLE)
    $Input5 = GUICtrlCreateInput("", 272, 40, 57, 21,BitOr($ES_UPPERCASE,$ES_CENTER))
    GUICtrlSetLimit(-1,5)
    GUICtrlSetState(-1,$GUI_DISABLE)
    $Button1 = GUICtrlCreateButton("Ok", 56, 72, 97, 25, $BS_DEFPUSHBUTTON)
    $Button2 = GUICtrlCreateButton("Abbrechen", 176, 72, 105, 25, 0)
    GUISetState(@SW_SHOW)
    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Input1
    Case $Input2
    Case $Input3
    Case $Input4
    Case $Input5
    Case $Button1
    $exitloop=True
    Case $Button2
    If MsgBox(52,$CFGTitle,$CFGCancelWarning) = 6 Then exit
    EndSwitch
    If StringLen(GUICtrlRead($Input1))=5 and $num1 Then
    GUICtrlSetState($Input2,BitOr($GUI_ENABLE,$GUI_FOCUS))
    $num1=False
    EndIf
    If StringLen(GUICtrlRead($Input2))=5 and $num2 Then
    GUICtrlSetState($Input3,BitOr($GUI_ENABLE,$GUI_FOCUS))
    $num2=False
    EndIf
    If StringLen(GUICtrlRead($Input3))=5 and $num3 Then
    GUICtrlSetState($Input4,BitOr($GUI_ENABLE,$GUI_FOCUS))
    $num3=False
    EndIf
    If StringLen(GUICtrlRead($Input4))=5 and $num4 Then
    GUICtrlSetState($Input5,BitOr($GUI_ENABLE,$GUI_FOCUS))
    $num4=False
    EndIf
    If StringLen(GUICtrlRead($Input5))=5 and $num5 Then
    GUICtrlSetState($Button1,$GUI_FOCUS)
    $num5=False
    EndIf
    If $ExitLoop Then
    If not (StringLen(GUICtrlRead($Input1))=5 and StringLen(GUICtrlRead($Input2))=5 and StringLen(GUICtrlRead($Input3))=5 and StringLen(GUICtrlRead($Input4))=5 and StringLen(GUICtrlRead($Input5))=5) Then
    $exitloop=False
    ContinueLoop
    EndIf
    $KEY &=GUICtrlRead($Input1)
    $KEY &=GUICtrlRead($Input2)
    $KEY &=GUICtrlRead($Input3)
    $KEY &=GUICtrlRead($Input4)
    $KEY &=GUICtrlRead($Input5)
    MsgBox(64,"Seriennummer[DEVELOP]",$KEY)
    If IsAdmin() Then
    RegWrite("HKLM\Software\" & $CFGcompany & "\" & $CFGprogname,"serial","REG_SZ",$KEY)
    Else
    RegWrite("HKCU\Software\" & $CFGcompany & "\" & $CFGprogname,"serial","REG_SZ",$KEY)
    EndIf
    GUIDelete()
    ExitLoop
    EndIf
    WEnd
    EndFunc

    [/autoit]


    Ach, und die Sleeps bei der Installation sind nur provisorisch, zu Demozwecken, sonst wärs zu schnell.

    Greez, L3viathan2142 :rock:
    Hoffe, es gefällt.

    Alte Version 24mal geladen
    Alte Version 5mal geladen
    Alte Version 23mal geladen
    Alte Version 31mal geladen
    Alte Version 5mal geladen
    Alte Version 7mal geladen

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

    7 Mal editiert, zuletzt von L3viathan2142 (4. April 2009 um 19:31)

  • Endlich mal ein Setup der nicht nur schön sondern auch parktisch ist! :thumbup:
    Mal gucken bei welchen Programm ich den einbauen kann(wirst natürlich vermerkt ;) )
    Tolle Arbeit wirklich.Danke!

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • hi ihr beiden,
    Ich sitze gerade am iTouch, kann deswegen den Fehler nicht beheben, fix kommt aber spätestens freitag.
    Danke fürs danken, Conan :thumbup:
    Wenn ihr noch irgendwelche wünsche habt, versuche ich sie schnellstmöglichst umzusetzen.

    Greez, L3viathan

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Mir ist noch ein Wunsch eingefallen.

    Und zwar wäre eine registrierung des Programmes(Serienschlüssel) nicht schlecht, dass man dass vielleicht ein und ausschalten kann.
    Den passenden Skript für das Überprüfen könnte ich dir geben(muss einen von mir nur ein bisschen umschreiben).
    Kannste mal überlegen, ob du es noch einbaust oder nicht. Wenn nicht ist auch net schlimm.

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • klar, kann ich mich dran machen, allerdings anders als du (falls ich dein Skript richtig verstanden habe).
    Ich versuche mich mal an Public-Key-zeugs, d.h. ich kann dann einen "Keygen" für mich bauen, und selbst wenn man das Skript dekompiliert, bringts nix, weil man nicht auf den Private-key schließen kann...
    Allerdings ist der Schutz doch ziemlich sinnlos, da man auch einfach das DATA-Verzeichnis kopieren kann, oder wie denkst du dir das?

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • Ich denke das so das die Keys auf einem Server liegen und dann mit dem eingegeben verglichen werden(Hab da eine UDF zu gemacht)

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

  • Bekomme dennoch folgende Meldung:

    E:\CustomSetup\main.au3(187,179) : ERROR: $CFGfolder: undeclared global variable.
    If $CFGAutoStartPoss And GUICtrlRead($autostartCheckBox) = $GUI_CHECKED Then RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",$CFGprogname,StringReplace($CFGfolder &
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    E:\CustomSetup\main.au3 - 1 error(s), 1 warning(s)

    Wo istd er Fehler?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • @L3viathan2142

    Replase "$CFGfolder" with "$CFGcompany"

    Das über das gesamte Script und schon klappt es auch bei der Alina.

    Vielen DANK.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Sieht toll aus! Werd ich sicher mal brauchen können (Ja, du kommst dann ins About...)! Die EULA.txt fund ich gelungen:

    Zitat

    §1 Sie sind dazu verpflichtet, die Verpflichtung verpflichtend zu verpflichten.

    :rofl:

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • se Hey,,
    echt klasse ;)
    nix zu sagen jedoch warte ich auf diese Seriengeschichte.
    Wann bist du den damit fertig? So, dass man Seriennummern mit einbeziehen kann ??
    Mfg mazo

  • Damit habe ich noch nicht angefangen, ich bin noch am überlegen, WIE ich das machn soll...:
    1.) Einfach nur die Seriennummer abfragen ist sinnlos, da man dann einfach den DATA-Ordner kopieren kann...
    2.) FileInstall: blöd, da der Entwickler dann selber das Setup kompilen müsste...
    Meine einzige Idee wäre: Tool zum Verschlüsseln des Ordners DATA dem Entwickler mitliefern..., mit Seriennummer bzw. anderem Algorithmus entschlüsseln...

    Kennt jemand eine Funktion, um Dateien/Ordner mit Au3 zu verschlüsseln (ohne FileRead + StringEncrypt :))
    Vlt mit zip?

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.