5 Replies Latest reply on Jun 19, 2009 9:59 AM by Klaus Salger

    Exe-Datei installieren

    andy232 Specialist
      Hallo,

      wie ist der beste Weg, eine EXE-Datei auszuführen ? Wir haben bei uns Archicad im Einsatz und die Hotfixe werden immer als EXE-Datei ausgeliefert. Leider ist das kein MSI-Paket.

      Mein Denkansatz ist, daß man ein EScript erstellt, welches die EXE ausführt. Hierzu gibt es den eScript-Befehl "Execute". Wo tue ich aber die EXE selbst hin ?
      Am schönsten wäre es, wenn ich sie ins Paketverzeichnis tun kann. Doch wie kann ich sie dann mittels Execute ausführen bzw. welchen Pfad muss ich denn angeben ?

      Danke für einen Tip,
      Andy.
        • 1. Re: Exe-Datei installieren
          FlorianZoller Apprentice
          Hallo,

          du erstellst dir innerhalb des Projektverzeichnisses ein Verzeichnis mit Namen "Extern$"
          Darin legst du das File ab.
          Im Execute gibst du dann folgendes an ".\Extern$\***.exe

          ".\" wird immer als dein aktuelles Projektverzeichnis aufgelöst
          • 2. Re: Exe-Datei installieren
            remote1 Apprentice
            Als Ergänzung zu Flo:

            die Unattended Parameter müssen natürlich noch hinten angehängt werden. Diese solltest Du vom Hersteller bekommen oder wenn Du die Exe mit /? am Ende aufrufst.

            Gruss Ralph
            • 3. Re: Exe-Datei installieren
              TorstenStreng Expert
              Hi!

              Ich würde es lieber mit "RunAs" anstatt mit "Execute" machen. Dort kannst Du auch schön einen Timeout angeben. Allerdings schützt Dich weder der eine, noch der andere Befehl von der angeblichen Compliance. Denn hier wird die Policy schnell mal grün obwohl gar nichts installiert wurde. Dazu muß nur ein Parameter nicht stimmen.
              • 4. Re: Exe-Datei installieren
                remote1 Apprentice
                ... weswegen es Pilot-Installationen gibt, um Pakete vor der Erstellung der eigentlichen Policies ausgiebig zu testen.

                Gruss Ralph
                • 5. Re: Exe-Datei installieren
                  Klaus Salger Expert
                  Hi,

                  abgesehen von den erwähnten Befehlen „Execute“ und „Runas“ gibt’s – neu  in der V6 – auch noch „ExecuteEx“.  Dieser Befehl bietet gegenüber den beiden anderen den Vorteil, dass der von dem Programm zurückgegebene ERRORLEVEL ausgewertet werden kann. Der wird dazu in eine Variable gespeichert, die nach Ausführung des Befehls geprüft werden. Außerdem bietet ExecuteEx wie RunAs die Möglichkeit einen Timeout anzugeben.

                  Mit dem Errorlevel hat man also die Möglichkeit Fehler, die von aufgerufenen Programmen oftmals zurückgegeben werden auch sauber zu behandeln.
                  Mit den anderen beiden Varianten kann man immerhin anderweitig prüfen, ob die Installation funktioniert hat, z.B. ein von einem Setup erzeugtes Log auf das Vorhandensein von Strings wie „Installation completed sucessfully“ prüfen.

                  Testen ist natürlich Pflicht aber allein darauf, dass die Installation eines Pakets beim Testen funktioniert hat  verlasse ich mich nicht so gerne. Es kann trotzdem in der Produktion etwas schief gehen und das möchte ich dann schon gerne wenigstens mitbekommen. Aber gut, das ist natürlich auch immer eine Abwägungssache Aufwand gegen Nutzen.

                  Ciao
                    Klaus