Eigene Systemvariable beim Setup benutzen

  • Ersteinmal ein Hallo an die gesamte Community :thumbup: (ist mein erster Post)

    Ich möchte gerne verschiedene Software automatisch und unbeaufsichtigt installieren lassen. Da ich dieses nicht nur bei mir, sondern auch bei Bekannten und Freunden machen will, kam ich auf die Idee dafür eine Systemvariable zusetzen und diese dann beim Setup zu benutzen.

    Will meine gesamte Software auf eine WPI-DVD (Windows Post Installer) brennen, und bei Aufruf eine Systemvariable namens "Software" erstellen lassen, die dann für denn jeweiligen Rechner einen spezifischen Installationsort in die Registry einträgt.

    Da ich erst seit wenigen Tagen AutoIt verwende und von Programmieren (noch) keine Ahnung habe, habe ich mich schon bei euch in den Foren schlau gemacht (auch bei German-Winlite.de, gutes Wiki :rolleyes: ). Bin jedoch immer noch nicht schlau genug um heraus zu finden wie ich meine Systemvariable in das Setup kriege.

    Dies ist mein erstes Skript

    [autoit]


    BlockInput(1)

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

    ShellExecute("Burrrn 1.13.exe")

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

    ;Warten auf Installations-Fenster
    WinWait("Burrrn 1.13 Setup","Choose Components")
    Send("{DOWN}" & "{SPACE}")
    ControlClick("Burrrn 1.13 Setup","Nullsoft Install System v2.06","Button2")

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

    ;Warten auf Installations-Verzeichnis
    WinWait("Burrrn 1.13 Setup","Choose Install Location")
    EnvGet("SOFTWARE")
    ControlSetText("Burrrn 1.13 Setup","Choose Install Location","Edit1", @ProgramFilesDir & "\Burrrn 1.13\")
    ControlClick("Burrrn 1.13 Setup","Choose Install Location","Button2")

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

    ;Warten auf Startmenü-Ordner
    WinWait("Burrrn 1.13 Setup","Choose Start Menu Folder")
    Send("Burrrn 1.13")
    ControlClick("Burrrn 1.13 Setup","Choose Start Menu Folder","Button2")

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

    ;Installation des Programms

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

    ;Warten auf Fertigstellen des Programms
    WinWaitActive("Burrrn 1.13 Setup","Installation Complete")
    ControlClick("Burrrn 1.13 Setup","Installation Complete","Button2")

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

    Blockinput(0)

    [/autoit]

    Ich weis es ist nicht perfekt, bin halt noch Anfänger und arbeite daran ;)
    Mir geht es vor allem um diesen Abschnitt

    [autoit]

    ControlSetText("Burrrn 1.13 Setup","Choose Install Location","Edit1", @ProgramFilesDir & "\Burrrn 1.13\")

    [/autoit]


    Dort hätte ich gern statt "ProgramFilesDir" meine Variable "Software" (momentan bei mir auf D:\ eingestellt) stehen. Der Hintergedanke ist halt das ich bei Bekannten bzw. Freunden diese Variable auf ein anderes Laufwerk setze, in dem Sie ihre Software installiert haben möchten.

    Ich wäre sehr froh wenn einer von euch mir helfen könnte und mir sagt wie ich meine eigene Systemvariable in dieses Skript einbauen kann.
    MfG

    JeanLuc2204

    Einer muss immer der Dumme sein ;)

    2 Mal editiert, zuletzt von JeanLuc2204 (23. Juni 2009 um 17:22)

  • Hallo,
    wenn es nur darum geht das Installationsverzeichnis vom User auswählen zu lassen, warum machst du keine Abfrage?
    Der User muss doch sowieso das Installationsverzeichnis angeben, oder willst du das per Parameter an das Autoitscript übergeben?

    Ah, ich glaube, ich verstehe was du meinst^^

    Spoiler anzeigen
    [autoit]

    BlockInput(1)

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

    ShellExecute("Burrrn 1.13.exe")

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

    ;Warten auf Installations-Fenster
    WinWait("Burrrn 1.13 Setup","Choose Components")
    Send("{DOWN}" & "{SPACE}")
    ControlClick("Burrrn 1.13 Setup","Nullsoft Install System v2.06","Button2")

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

    ;Warten auf Installations-Verzeichnis
    WinWait("Burrrn 1.13 Setup","Choose Install Location")
    $env_string=EnvGet("SOFTWARE")
    ControlSetText("Burrrn 1.13 Setup","Choose Install Location","Edit1", $env_string & "\Burrrn 1.13\")
    ControlClick("Burrrn 1.13 Setup","Choose Install Location","Button2")

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

    ;Warten auf Startmenü-Ordner
    WinWait("Burrrn 1.13 Setup","Choose Start Menu Folder")
    Send("Burrrn 1.13")
    ControlClick("Burrrn 1.13 Setup","Choose Start Menu Folder","Button2")

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

    ;Installation des Programms

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

    ;Warten auf Fertigstellen des Programms
    WinWaitActive("Burrrn 1.13 Setup","Installation Complete")
    ControlClick("Burrrn 1.13 Setup","Installation Complete","Button2")

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

    Blockinput(0)

    [/autoit]


    so in der Art?
    ciao
    Andy

  • Jep, das ist genau das was ich gesucht habe. Danke Danke :love:

    Ich möchte gern halt alles unbeaufsicht ablaufen lassen. Man soll sich nur noch die Software auf der WPI-DVD aussuchen, Installationen beginnen und Kaffee holen können ;)

    Das einzigste wäre jetzt noch wenn die Skripte & Software einzeln benutzt werden ohne die WPI-DVD.
    Das ich in mein Skript eine Abfrage einbaue, ob die Systemvariable "Software" vorhanden ist, und wenn nicht, das dann ein Fenster erscheint in dem man dann den Haupt-Installationsort für Software angibt oder auf vorgefertigte Ordner-Buttons klickt. Es wäre dabei auch gut, das diese Systemvariable bis zum nächsten Neustart vorhanden bleibt, das man bei weiteren Installationen nicht wieder den Installations-Ordner angeben muss (Unattended Installation ;) ). Das wäre super wenn mir da einer nen Gedankenanstoss geben könnte, auch wegen dem Skriptaufbau (also wo ich diese Abfrage einfügen sollte und mit welchen Befehlen dies geht).

    Aber das wichtigste ist erstmal damit geschafft. Danke Andy :thumbup: aber auch allen anderen in diesem Forum ein dickes Danke :thumbup: habe beim durchforsten des Forums schon vieles gesehen was mir helfen kann.

    MfG
    JeanLuc2204

    Einer muss immer der Dumme sein ;)

  • Hallo JeanLuc2204,

    wenn ich das jetzt richtig verstanden habe, möchtest du mit WPI auch Programme installieren lassen, welche keinen "Silent" Schalter haben?
    Dann würde ich für jedes dieser Programme ein Installationsscript schreiben, und dieses in der WPI aufrufen.

    Zitat

    Das einzigste wäre jetzt noch wenn die Skripte & Software einzeln benutzt werden ohne die WPI-DVD.


    Das geht natürlich auch. WPI per Autoit^^ .
    Man könnte z.B. eine Datei erstellen, in der alle zu installierenden Programme enthalten sind, incl. evtl. vorhandener Silent-Schaltern.
    Dann eine GUI erstellen mit 2 Filelisten, die auf der CD enthaltenen Programme werden in der linken Liste dargestellt, je nach Bedarf per Drag&Drop in die "Install"-Liste gezogen, ggf noch Verzeichnisse ausgewählt, auf den "Install"-Button geklickt und ab gehts Kaffee trinken :)
    Sicher gibt es irgendwo schon entsprechende Listen mit den "Silent"-Parametern der Programme.
    Der Rest sind einige Zeilen Autoit....viel Spass^^

    ciao
    Andy


  • Man könnte z.B. eine Datei erstellen, in der alle zu installierenden Programme enthalten sind, incl. evtl. vorhandener Silent-Schaltern.
    Dann eine GUI erstellen mit 2 Filelisten, die auf der CD enthaltenen Programme werden in der linken Liste dargestellt, je nach Bedarf per Drag&Drop in die "Install"-Liste gezogen, ggf noch Verzeichnisse ausgewählt, auf den "Install"-Button geklickt und ab gehts Kaffee trinken :)

    Sorry, hab mich dann falsch ausgedrückt.

    Meinte das ich einzelne die Skripte und Software benutze (z.B. als SFX), einfach von Festplatte (ohne WPI, CD, DVD o.ä.) und diese dann nach der Systemvariablen schauen und wenn sie nicht vorhanden ist, das ein Eingabebox erscheint womit man sie dann erstellen kann (und diese dann auch mindestens bis zum nächsten Neustart anwendbar bleibt).

    Etwas ähnliches was du meinst ist der Comfort Installer (bei German-winlite.de zu finden), der zwar gut ist aber nicht für meine "Wünsche" geeignet ist ;)

    Das ich in mein Skript eine Abfrage einbaue, ob die Systemvariable "Software" vorhanden ist, und wenn nicht, das dann ein Fenster erscheint in dem man dann den Haupt-Installationsort für Software angibt oder auf vorgefertigte Ordner-Buttons klickt.

    Dies wäre jetzt nun meine letzte große Hürde vorerst, um meine Installations-Skripte so hinzubekommen.

    Da nun mein Hauptanliegen erstmal erledigt ist, ändere ich die Überschrift in "erledigt"

    Danke für alle Antworten :thumbup:

    MfG
    JeanLuc2204

    Einer muss immer der Dumme sein ;)

  • Hallo Jean-Luc.

    Großes was Du da so vor hast. Lob !!!

    Hast Du dir schon mal "Install-O-Matic" angeschaut?

    Lieben Gruß,
    Alina

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

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl