Unattended Installation mit Setup auf CD/DVD

  • Hallo,

    ich möchte eine Unattended Installation machen und möchte dazu die Setup.exe nutzen die auf einer CD/DVD drauf ist. das Problem ist jetz ja das sich der Laufwerksbuchstabe von System zu System ändern kann und so die .exe möglicherweise immer auf anderen Laufwerksbuchstaben ist. Wie kriege ich das hin das er irgendeine Abfrage macht wo er evtl. verschiedene Laufwerksbuchstaben durchguckt und überprüft auf welchem sich die setup.exe befindet.

    Am optimalsten wäre es ja wenn ich vielleicht irgendwie genau das Laufwerk angeben könnte wo die CD/DVD drin ist weil es ja auc sein könnte das zufälligerweise auf nem normalen Laufwerk irgendeine setup.exe liegt die er dann statt der gewünschten ausführt.

    Vielen Dank schonmal

  • Also die setup.exe stammt von einem "normalen" setup und du hast dazu ein AutoItScript geschrieben welches diese Installation leitet, richtig?

    Wenn ja würde ich einfach eine neue CD brennen mit deiner kompillierten autoit.exe file drauf plus einer autostart.ini welche die autoit.exe gleich beim CD reinschmeissen startet (solange der user dies aktiviert hat)

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Das Problem ist ich wollte das ja so machen um zu vermeiden das ich eben eine neue DVD brennen muss.

    Ich weiß ja auch garnicht obs überhaupt funktioniert, geht eben nur darum das ich nicht den kompletten DVD inhalt auf Festplatte/Server ziehe und damit unnötig Speicher Ressourcen verbrauche.

  • Moin,

    frag die CD/DVD Laufwerke mit DriveGetDrive ("CDROM"), gffs. DriveGetDrive ("All") ab. Danach schaust Du über die File Attribute, ob eine vorhandene Setup.exe (FileExists) auf den gefundenen Laufwerken genau mit Deiner gewünschten übereinstimmt (FileGetSize, FileGetTime ect.). damit solltest Du eine Lösung finden.
    ;-))
    Stefan

  • Fallbeispiel:

    Du hast 2 Laufwerke:

    D:\
    E:\

    AutoIt soll jetzt prüfen auf welcher von den beiden CD/DVDs das Setup ist?

    Wenn Ja:

    Spoiler anzeigen
    [autoit]


    $var = DriveGetDrive( "all" )
    If NOT @error Then
    MsgBox(4096,"", "Found " & $var[0] & " drives")
    For $i = 1 to Ubound($var)-1
    ;Wenn die CD/DVD einen bestimmten Namen hat:
    If DriveGetLabel($var[$i]) = "deineCD" Then
    MsgBox(0, "Gefunden", "Setup gefunden auf: "&$var[$i])
    EndIf
    ;Wenn die CD eine Bestimmte struktur an daten bzw. irgendwas beinhaltet was sie "einzigartig" macht
    ;Ich nehme jetzt einfach mal an die cd hat z.b. eine winword2003.txt oder so
    If FileExists($var[$i]&"\winword2003.txt") Then
    MsgBox(0, "Gefunden", "Setup gefunden auf: "&$var[$i])
    EndIf
    Next
    EndIf

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

    Edit: *grml* da war ja schon wieder jemand schneller^^

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Ich habe das ganze eben mal probiert und ich kriege auch richtigen laufwerksbuchstaben und pfad zurück (E:\Setup.exe) aber ich bekomme den Fehler "Kann angegebenen Pfad nicht finden".
    Ich habs simpel mit run() versucht und auch mit ShellExecute.

  • Moin,

    hab grad meine Glaskugel nicht parat. Poste mal den Code mit mind. der Run Zeile.
    ;)
    Stefan

  • o.k.

    mein Fehler, Zeile hilft auch nicht weiter, ist aber erstmal korrect. Setz mal vor dem Run Befehl

    msgbox (0,"", $var [$i] & "\Setup.exe")

    Dann solltest sehen, ob Dein Run Aufruf korrekt erfolgt.
    ;-))
    Stefan