Durch Windos Post Install, Silent Installieren

  • Hi zusammen,

    bin recht neu bzw Totaler anfänger das erst vor 3 tagen AutoIT angefangen hat (allgemein Scripting).
    Hier Meine Fragen...

    Ich will durch Das Programm Windows Post Install meine Progamme Installieren leicht machen, Sei es z.b halt nach der Formatierung,
    so das gewählte programme Automatisch (Silent Install) installiert.
    Wie das Ganze am ende eigentlich so aussehen sollte, WPI - Windows Post-Install Wizard =HighSpeed=

    Als; Bild

    Spoiler anzeigen

    [Blockierte Grafik: http://i.imgur.com/AN4Hn.png]


    Als; Text

    Spoiler anzeigen

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=Icon_1.ico
    #AutoIt3Wrapper_Outfile_x64=Neuer Ordner\04.exe
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

    ; Script Start - Add your code below here
    ; Press Esc to terminate script, Pause/Break to "pause"

    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")
    HotKeySet("{F8}", "Terminate")
    HotKeySet("+!d", "ShowMessage") ;Shift-Alt-d


    FileInstall("C:\Users\SSetsuna\Desktop\Neuer Ordner\04.exe",@ScriptDir & "C:\Start\Silent\Lightshot3.2.exe",1)
    Run(@DesktopDir & "\WindowsPostInstall\Install\Lightshot3.2.exe")
    WinWaitActive("Setup-Sprache auswählen", "OK")
    Send("{Enter}")
    Send("{Enter}")
    Send("{TAB}")
    Send("{TAB}")
    Send("{TAB}")
    Send("{TAB}")
    Send("{TAB}")
    Send("{TAB}")
    Send("{DOWN}")
    Send("{SPACE}")
    Send("{ENTER}")
    WinWaitActive("Setup - lightshot", "Fertigstellen")
    WinActivate("Setup - lightshot")
    Send("{ENTER}")

    Exit

    ;;;; Body of program would go here ;;;;
    While 1
    Sleep(100)
    WEnd
    ;;;;;;;;

    Func TogglePause()
    $Paused = Not $Paused
    While $Paused
    Sleep(100)
    ToolTip('Script is "Paused"', 0, 0)
    WEnd
    ToolTip("")
    EndFunc ;==>TogglePause

    Func Terminate()
    Exit 0
    EndFunc ;==>Terminate

    Func ShowMessage()
    MsgBox(4096, "", "This is a message.")
    EndFunc ;==>ShowMessage

    Das habe ich getestet klappte gut, nur nachdem es geklappt hatt wollte ich
    es bei einem Anderen PC austesten... Leider öffnet dann der Script mehr
    als 20 mal und startet nicht einmal das programm mehr...
    Obwohl ich es Compiliert habe (FileInstall, gegooglelt bis mir schlecht wurde :D) und
    die Datei Größer als die Original wurde, spinnt es...

    Wo genau mache ich falsch?
    Und was mache ich falsch?

    Währe echt Nice wenn ich das endlich mal hinbekommen würde ;)

    2 Mal editiert, zuletzt von SSai (9. Januar 2013 um 22:02)

  • Zitat

    Das habe ich getestet klappte gut, nur nachdem es geklappt hatt wollte ich
    es bei einem Anderen PC austesten... Leider öffnet dann der Script mehr
    als 20 mal und startet nicht einmal das programm mehr...


    ich kenne das Programm WPI nicht, aber so wie es aussieht bedient er sich mit Autoit Install Scripts.... und das kannst Du leicht lernen, ohne das Programm WPI zu benutzen...irgend wann weißt Du nämlich was Du da genau machst, wo ein Fehler sein könnte usw.
    füge mal in deinem Script noch: #RequireAdmin
    oder starte mal das Programm manuell als Admin....?

    das andere ist das hier:

    [autoit]

    ...
    FileInstall("C:\Users\SSetsuna\Desktop\Neuer Ordner\04.exe",@ScriptDir & "C:\Start\Silent\Lightshot3.2.exe",1)
    ...

    [/autoit]

    es kann auch daran liegen? was Fileinstall macht kannst Du hier nachlesen: http://www.autoit.de/dokumentation/functions/FileInstall.htm

    das:
    @ScriptDir & "C:\Start\Silent\Lightshot3.2.exe"
    sieht irgend wie komisch aus? "@ScriptDir &" entfernen...!

    und das:
    Run(@DesktopDir & "\WindowsPostInstall\Install\Lightshot3.2.exe")
    stimmt dann auch nicht, richtig ist dann das:
    Run("C:\Start\Silent\Lightshot3.2.exe")

    [autoit]

    ...
    FileInstall("C:\Users\SSetsuna\Desktop\Neuer Ordner\04.exe", "C:\Start\Silent\Lightshot3.2.exe",1)
    Run("C:\Start\Silent\Lightshot3.2.exe")
    ...

    [/autoit]

    12 Mal editiert, zuletzt von Automatisator (31. Dezember 2012 um 14:18)

  • Hi erstmal und Wünsche an alle guten Rutch ins Neue Jahr :party:



    und das:
    Run(@DesktopDir & "\WindowsPostInstall\Install\Lightshot3.2.exe")
    stimmt dann auch nicht, richtig ist dann das:
    Run("C:\Start\Silent\Lightshot3.2.exe")

    das problem ist ja ich will das programm eigentlich von der Usb aus Starten, da sich leider der Pfad (laufwerksbuchstabe) bei jedem PC ändert und ich so keine Feste pfad eingeben kann.
    Daher wollte ich es so machen..

    Step1: Das ganze Wpi ordner von der USB-Stick aus ins Desktop kopiere
    Step2: Und von Desktop aus Das Wpi starte.. "Umständlich ja, wenn jemand weiß wie ich das direkt von der USB aus starten könnte, bitte melden ;) )

    Da Laufwerkbuchstabe C:\ immer Das System beinhaltet, sollte es keine problem geben ein Standard Pfad zu errichten..

    Run("C:\Start\Silent\Lightshot3.2.exe")

    wenn ich das eingeben würde, müsste ich doch zuerst im C:\ den Ordner "Start" und "Silent" erstellen, ich will ja das Kopierte Verzeichniss von der USB "WindowsPostInstall" einfach direkt ins Desktop Kopieren>>>Ordner Öffnen>>>WPI Starten>>>Programme Auswählen>>>Installieren...

    So Sieht der OrdnerStruktur des WPI aus
    Bei dem Programm müsste ich darüber auch ein pfad geben von wo aus er die Programme zugreifen uns Starten soll, Das währe dann

    %wpi%\Install\programm.exe
    %wpi% = bedeutet halt im programm, sein eigener Pfad, braucht also kein extra Pfad sowie C:\Desktop\...\... etc.

    sowie dieses %Wpi% bräuchte ich eins für die USB, damit ich halt eine Festen Pfad für die Scripts habe.


    Wenn ich da was falsch verstanden habe, bitte nochma um erklärung :D
    Danke für die Schnelle Antwort, und Frohes Neues Jahr wünsche ich jedem

  • Deswegen ja der @DesktopDir ;)
    Sowie ich es verstanden habe, erkennt @DesktopDir den pfad zur jeweiligen Desktop automatisch.

  • ja das stimmt.

    @HomeDrive Drive letter of drive containing current user's home directory.
    @HomePath Directory part of current user's home directory. To get the full path, use in conjunction with @HomeDrive.

    kann ich es eigentlich festlegen das der USB pfad sein HomePath ist?
    oder der Modell der USB selber sein HomePath findet nach dem Namen der USb halt. Z.b wenn mann die USB einlegt und über eigenschaften>>>Hardware; Name der USB z.b "USB 2.0 Flash Disk USB Device" herausfindet.

    Ungefähr so :D

    mfg

  • Guten morgen.

    Um WPI nach einer Installation zu starten, sollte man die Windows internen Funktionen benutzen. Eine Autounattend.xml liegt vor? Man kann WPI entweder per Autounattend oder per cmdline.txt starten lassen. Die Windows Firstrun kommandos sind im Netz recht gut beschrieben.

    Man braucht einen USB stick nicht auf den Desktop zu kopieren und von dort starten. Wenn doch mit kopieren, dann mit den @Temp oder @TempDir Verzeichnisen arbeiten. Diese führen unabhängig vom Laufwerksbuchstaben des Systems immer zum Ziel.

    Später dazu mehr....

    Create Desktop Shortcut & Wait Untill Desktop Load

    lg

  • Danke, das hätte meine frage eigentlich beantwortet,

    http://prntscr.com/o37sm

    am ende des Textes steht

    Zitat

    WICHTIG: Auch die Bearbeitung der AutoUnattend.xml im Rootverzeichnis eurer VISTA oder Windows 7 DVD ist bei

    dieser Methode nicht mehr notwendig.

    Heist das jetzt für Windows 7 & Vista Benutzer keine Autounattend.xml mehr notwendig ist?

    sry ich bestätige gern was ich verstanden habe :D :whistling: :whistling:

  • Danke für die Hilfe, hab jetzt alles hinbekommen, was ich gesucht habe war @Scriptdir ;)

    Danke wegen dem PN Sentiononline, nachdem ich @Scriptdir gefunden habe ging alles wie ich es haben wollte ;)