5 Replies Latest reply on Jan 26, 2011 3:36 AM by mfierlej

    Externe Setups und Installationsstatus

    mfierlej Apprentice
      Hallo Leute,

      ich habe ein Verständnisproblem...
      Ich habe einige eScript-Pakete, welche per "execute" externe Setups ausführen (Installshield und dergleichen)..

      Wenn ich diese zuweise, gehen die Policy-Instanzen brav auf "compliant"..
      Das ist aber nicht aussagekräftig, da sie im Fehlerfall gg. in wirklichkeit nicht installiert sind.

      Meine Frage:

      Wie prüfe ich sowas am besten ab?
      Muss ich mir für jedes Setup Returncodes abfangen und die im eScript "weiterverwursten"?

      Oder muss ich gar ein 2. eScript (z.B. im Software-Set-Verbund) nachschalten, welches beispielsweise auf das Vorhandensein von anwendungsspezifischen Reg-Keys / Datein prüft (was ich für sehr aufwändig halte...

      Vielen Dank im Voraus für eien Tipp!!

      Gruß

      Der Manuel
        • 1. Re: Externe Setups und Installationsstatus
          XN04113 Specialist
          Hattet Ihr keine enteo Consultent da, der eine Grundeinweisung inkl. Tips und Tricks gemacht hat?

          Bei uns sieht das so aus:

          ExecuteEx('.\extern$\dotnetfx35.exe /q
          orestart /lang:ENU','_return','20')/?/TW
          If %_return%='3010'
          InitiateSystemShutDown('20',issForceLogoff+issRebootAfterShutdown)
            reboot by %project.name%
          EndProc/TW
          EndInstallerSession/TW
          ExitProcEx(Done,'%project.name% successfull installed - reboot required')
          If %_return%='0'
          ExitProcEx(Done,'%project.name% successfull installed')
          Else
          ExitProcEx(Failed,'%project.name% failed with return code: %_return%')
          !
          : $BeginUninstallScript
          • 2. Re: Externe Setups und Installationsstatus
            mfierlej Apprentice
            Hi XN04113,

            naja, doch ahtten wir, aber ich war nicht dabei
            Kollegen sind nicht mehr verfügbar und haben das Wissen "mit ins Grab" genommen...

            Vielen Dank erst einmal für den Ansatz...

            Wie kann man es denn bewerkstelligen, auch "aktiv" den Installationsstatus zu überwachen?
            Ich meine bis dato muss ich selbst "annehmen" wann denn das Setup fertig ist, um dann den returncode abzufragen.

            Mir ist bewusst, dass dieses Thema im Forum mehrmals diskutiert wurde, leider hab ich in den Posts aber auch keine Lösung gefunden...

            Ich will ja auch nicht "Wissen absaugen", vielleicht nur einen Hinweis auf die best practices... per WMI Prozessstati abfragen?
            Das Problem bei einigen Setuop-Routinen ist halt, dass sie nicht (wie etwa Installshield) einen Schalter /SMS bieten...

            Für Hinweise wäre ich sehr sehr sehr dankbar

            Grüße

            Manuel
            • 3. Re: Externe Setups und Installationsstatus
              vuntch Apprentice
              Hallo Manuel,

              importiere mal bitte das Office 2007 Paket aus dem Unterordner PrepackagedApps Deiner Enteo-Installation. Das ist ein gutes Beispiel für die Überwachung von Setuproutinen, die externe Prozesse starten.

              viele Grüße
              Volker
              • 4. Re: Externe Setups und Installationsstatus
                NicoS1 Master
                Also den Installationsstatus WÄHREND des Setups abfragen, bei einem 3rd party Setup geht normal nicht. Du kannst rudimentär abfragen: läuft das Setup noch oder nicht.

                Die meisten Setup.exe bleiben aktiv wenn du sie aufrufst. Dann kannst du einfach den Schalter "Auf Ausführung warten" nehmen.

                Bei Setups die sich selbst beenden und eine andere Datei aufrufen wird es schwierig den Returncode abzufragen. Aber immerhin kannst du mit einem  WMI und einem Loop das warten auf das Ende eines Prozesses trotzdem erzwingen.

                : loop
                Set('WMI_Name','0')
                WMISimpleQuery('\\.\root\cimv2','Win32_Process','Name=setup2.exe','WMI_')
                Name
                EndProc
                If %WMI_Name%='setup2.exe'
                EndProc/TW
                Sleep('10')
                goto loop


                Nur mal als Beispiel (habs direkt aus der Script.inc kopiert). Brauchst du aber nur, wenn es nicht klappt mit dem "Warten auf Ausführung".

                Danach kannst du ggf. noch mit if Abfragen arbeiten, ob Registryeinträge oder Ähnliches abzufragen. Ich frage in dem Fall dann meistens den uninstall key in der Registry ab (unter: hklm software microsoft windows currentversion uninstall) da dieser bei fast allen Setups erst am Ende geschrieben wird, und falls ein Setup schief läuft der normal nicht da ist.

                Dann kannst du ja immer noch mit exitproc das Paket auf "fehlgeschlagen" (Rot) oder "nicht installiert" (gelb, wird beim nächsten InstallerRun wieder versucht zu installieren) setzen, wenn deine if Abfrage einen Fehler entdeckt.

                Gruß
                • 5. Re: Externe Setups und Installationsstatus
                  mfierlej Apprentice
                  Hi Leute,

                  vielen Dank!!

                  Werd mir beide Varianten mal ansehen!

                  Beste Grüße

                  Manuel