FileInstall-Problem

  • hallo,

    habe mir jetzt ein script geschrieben mit fileinstall. Klappt prima.

    Jetzt habe ich mir ein neues Script geschrieben für 2 Spiele, wo ich diese beiden auch mit fileinstall
    einbinden möchte. Aber wie´s so ist scheint das nicht zu gehen.

    Habe jetzt mehrere versuche gemacht:

    FileInstall( "H:\MahJong\MahJongg Master.exe", "H:\MahJong\TEST.au3\"); endet mit Fehlermeldung

    FileInstall( "H:\MahJong\RahJongg.exe", "H:\MahJong\TEST.au3\") ; geht, aber Prog wird nicht eingefügt

    FileInstall( "H:\AmunRisingGame\LuxorAmunRising\LuxorAmunInstall.exe", "H:\AmunRisingGame\LuxorAmunRising\AmunTEST.au3\") ; Das Script funz perfekt

    möchte nun die ersten 2 in ein Script einfügen.... Habe die Setup.exe von RahJong schon umbenannt
    in RahJongg.exe. Auch die Ordner mit 7z in ein selbstextrahierende exe umgewandelt ....
    Alles hilft nix.

    Wer kann helfen...

    Chicago

  • [autoit]

    FileInstall( "H:\MahJong\MahJongg Master.exe", "H:\MahJong\TEST.au3\MahJongg Master.exe")

    [/autoit]


    Das schonmal gemacht? In diesem Format steht es ja auch in der Hilfe. Mit einer Datenendung!

    @Daniel.W
    Test.au3 <-- das ist der Ordnername!

    Einmal editiert, zuletzt von Zen (5. Januar 2007 um 20:33)

  • hi Zen,

    leider hat deine Idee auch kein Erfolg gebracht. Aber mal zum eigendlichen.
    Geht es überhaupt, 2 exen oder Progs über fileInstall in ein Script einbinden ?
    Ich muss ja nicht umbedingt, die Progs einbauen .... hab sie ja so am laufen....
    ist halt nur mal so eine Idee von mir um weiter zu lernen ....

    Wenns gehen sollte hab ich aber schon das nächste problem....
    weil ich das dann mit nlite in eine CD einbauen möchte und dann mit einem Script
    die einzelnen exe-Scripte aufrufen möchte ..... Wie bringe ich dem script bei
    zu warten bis jede einzelne exe abgearbeitet ist ?

    Vieleicht könnte das gehen....

    $PID = Run("MahJongg Master.exe")
    ProcessWaitClose($PID)

    $PID1 = Run("RahJongginstall.exe")
    ProcessWaitClose($PID1)

    und so weiter .....

    Chicago

  • Probier mal meine Idee + Compilieren der Au3. Dann müssten die Exen im neuen Ordner sein. Ansonsten würde mir noch einfallen, dass die Ordner nicht existieren und diese dadurch erstellt werden müssten... weiß ich jetzt leider nicht!

    Dein nächstes Problem. Sieht doch schon gut aus, würde ich auch so machen. Jedoch in eine Schleife, damit es einfacher und schneller zu tippen :)

    [autoit]

    $Anzahl_Progs = 2
    Dim $Programme[$Anzahl_Progs] = ["MahJongg Master.exe", "RahJongginstall.exe"]

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

    For $i in $Programme
    ShellExecuteWait($i)
    Next

    [/autoit]


    EDIT:
    Die Strings in $Programme müssen natürlich der komplette Pfad sein, bzw der Pfad, indie du vorher dein FileInstall gemacht hast!
    Aber da du es auf eine CD packst, brauchst doch theoretisch kein FileInstall, weil die ja so oder so auf der CD sind!

    Einmal editiert, zuletzt von Zen (6. Januar 2007 um 00:16)

  • hi Zen,

    ich habs gemacht .... aber ohne erfolg....
    ShellExecuteWait($i) verursacht prob mit ($i)

    habe auch die Pfade korekt angegeben.... ohne erfolg ....
    ich vergess es einfach .... vieleicht liegts daran, das noch mehr dateien in den
    Ordnern ist als nur die Setup.exe......

    Aber trotzdem danke für deine tatkräftige unterstützung...

    Chicago

  • hallo,

    so ich habs geschafft. :stolz_bin:

    Als erstes direkt mal entschuldigung sag für den Doppelpost. Den anderen hatte ich schon geschlossen.

    Ich denke mein erster Fehler war..... beide Programme wurden in gleicher au3 entpackt...
    also zb. X:\Temp\Test.au3

    Jetzt habe ich mein Script zur installation im Ordner geschrieben und als Exe kompiliert.
    Natürlich ein aussage kräftigen Namen gewählt. Diesen granzen Ordner habe ich jetzt
    mit 7Z zu einer selbsextrahierenden Exe kompiliert, die als Startdatei meine Script.exe
    aufruft.
    In einem weiteren Script dann diese beiden Exe Dateien über fileInstall eingebunden und als Ausgabeordner 1x X:\Temp\Script.au3 und 1x X:\Temp\Script2.au3.
    Dort werden die Programme über $PID und $PID1 aufgerufen.

    $PID = Run("MahJongg Master.exe";)
    ProcessWaitClose($PID)

    $PID1 = Run("RahJongginstall.exe";)
    ProcessWaitClose($PID1)

    Jetzt geht es perfekt.
    Jetzt mal noch eine Frage an Zen, der mir den vorschlag machte, diese alles in einer Schleife zu machen. Wie kann ich das bewerkstelligen, wenn ich noch weitere Progs mit einbauen möschte?


    Danke schon im vorraus

    Chicago

  • [autoit]

    $Anzahl_Progs = 2 ;hier die Anzahl der Programme
    Dim $Programme[$Anzahl_Progs] = ["MahJongg Master.exe", "RahJongginstall.exe"];hier den Namen eintragen mit Komma getrennt!

    For $i in $Programme
    ShellExecuteWait($i)
    Next

    [/autoit]