Setup.exe einer Software in Script einbinden und wenn IfAdmin die Setup ausführen

  • Hi!

    ich habe mit AutoIt ein zusätzliches Tool geschrieben, um zu testen, ob der aktuelle Benutzer
    Admin Rechte hat, oder nicht. Wenn ja, dann soll das Setup ausgeführt werden.

    Datei: Programm_setup.exe

    Code
    If IsAdmin() Then
    	Run(@WorkingDir & "\setup.exe")
    Else
    	If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
    	$iMsgBoxAnswer = MsgBox(266256,"Setup","The Setup need administrative rights to work proberly. Login as administrator and start the Setup again.")
    	Exit
    EndIf

    So funktioniert es zwar, aber ich habe dann im Prinzip zwei EXE Dateien. Man kann ja auch die setup.exe ja auch mit #AutoIt3Wrapper_Res_File_Add
    in das Script reinkompilieren. Aber wir kann ich dann auf das reinkompilierte "setup.exe" zugreifen und innerhalb des AutoIt Scriptes starten?

  • Hi SEuBo,

    erstmal danke für die Antwort. Mit FileInstall hatte ich das bereits probiert. Ich kann zwar die
    eingebundene EXE in @TempDir entpacken und auch Starten. Aber das @WorkingDir (welches
    auf das CD Laufwerk zeigt, fuktioniert nicht korrekt. Das Setup bricht dann ab...

    Ich werde das erstmal so lassen wie oben angegeben... Danke

    • Offizieller Beitrag

    Also wenn die Installation von einer CD erfolgt (ich nehme an die Software darauf ist nicht selbst erstellt), dann ist doch deine Skript ohne jeden Nutzen.
    Was soll den User hindern, die setup.exe direkt von der CD zu starten.

    Falls es doch eigene Software auf der CD ist:
    Wieso 2 Dateien? Einfach in die Setup.exe als erste Zeile " If NOT IsADmin() Then Exit MsgBox(0,'', 'BlaBla') "

    Mir ist deine Dateistruktur nicht ganz klar, aber das Workingdir sollte als Parameter an Run() übergeben werden. Nicht als Makro, sondern als tatsächliches Verzeichnis.