5 Replies Latest reply on Apr 16, 2010 12:13 PM by Markus.Zierer

    MSI Property überschreibt MST

    Jeggo Rookie
      Hallo,

      ich habe folgendes Problem:
      Aufgrund der notwendigen Netzwerkkonfiguration ist der Client nicht Mitglied in der Domäne. Für eine Installation eines MSI-Paketes ist zwingend der Parameter /qr erfoderlich. Alle anderen Kombinationen führen zu dem MSI-Fehler 1603.

      Wenn auf dem Client msiexec /i "x.msi" TRANSFORMS="x.mst" /qr ausführe, wird die Software korrekt installiert. Ein installation als eScript mittels execute funktioniert auch.

      Ich möchte aber MSIInstallProduct für die Installation nutzen. Laut Log wird als Parameter CLIENTUILEVEL=2 übergeben. Das entspricht dem Parameter /qb. Somit funktioniert diese Art der Installation wegen der Netzwerkkonfig leider nicht.

      Wenn ich MSIInstallProduct als zusätzlichen Paramter (eigentlich ist es eine Property) CLIENTUILEVEL=1 mitgebe, wird dies ignoriert, da laut Log folgende Parameter übergeben werden:

      CLIENTUILEVEL=1 TRANSFORM="..." ALLUSERS=1 REBOOT=ReallySuppress CURRENTDIRECTORY="..." CLIENTUILEVEL=2 CLIENTPROCESSID=2416

      Der letzte Eintrag (CLIENTUILEVEL=2) scheint somit zu gelten und überschreibt meinen Parameter. Ergebnis: Installation wird mit MSI-Fehler 1603 abgebrochen.

      Zusätzlich habe ich im MST eine Property CLIENTUILEVEL=1 definiert.
      Rufe ich lokal msiexec /i "x.msi" TRANSFORMS="x.mst" auf, so werden folgende Parameter im Log aufgeführt:

      TRANSFORM="..." CLIENTUILEVEL=0

      Da CLIENTUILEVEL=0 einem Parameter /qf entspricht (ist der Standardwert), findet keine automatische Installation statt. Die Werte im MST werden aber korrekt in UI eingesetzt. Ich muss mich halt "durchklicken".

      Nun meine Frage:
      Wie ändere ich den CLIENTUILEVEL im MSIInstallProduct von 2 auf einen anderen gewünschten Wert?
      Oder ist es möglich das msiexec (welches ja letztendlich auch vom MSIInstallproduct aufgerufen wird) dazu zu bewegen, dass nur die definierten Properties im MST verwendet werden?

      Bis bald

      Jens
        • 1. Re: MSI Property überschreibt MST
          NicoS1 Master
          Das Problem hatte ich noch nicht, aber was ich mal zuerst probieren würde...
          du kannst im "MSIInstallProduct" selbst auch noch einige sachen verstellen, oder zusätzliche Parameter mitgeben. Würde mich mal interessieren, was passiert wenn du da ein ClientUI Level mitgibst.
          • 2. Re: MSI Property überschreibt MST
            Jeggo Rookie
            Hallo,

            es passiert folgendes (siehe ersten Beitrag):

            CLIENTUILEVEL=1 TRANSFORM="..." ALLUSERS=1 REBOOT=ReallySuppress CURRENTDIRECTORY="..." CLIENTUILEVEL=2 CLIENTPROCESSID=2416

            Wobei alle Properties ausser CLIENTUILEVEL=1 von Enteo kommen ("Parameter bei MSIInstallProduct). Klar ist, dass das zweite CLIENTUILEVEL=2 das erste überschreibt.

            Habe auch schon die Onlinehilfe durchsucht und nur etwas zur Property REBOOT gefunden.

            Es wäre schon schön, wenn man die volle Kontrolle über die übergebenen Properties hätte und nicht nur einen Teil.

            Zwischenzeitlich habe ich auch noch einige weiter Tests per Hand und msiexec durchgeführt. Es scheint im Moment so, dass die von Enteo aufgezeichnete MST auch nicht ganz OK ist. Es scheint vom Hersteller der Software auch einen "MST-Generator" zu geben. Den werde ich nächste Woche einmal näher untersuchen.

            Bis bald

            Jens
            • 3. Re: MSI Property überschreibt MST
              ChristophSteckelberg Expert
              Hallo

              schau mal in die Konfigurationstabelle -> MSI Einstellungen -> Benutzeroberfläche des Windows Installers komplett verbergen.
              Ich vermute mal dass diese Setting das Problem beheben könnte. Beim Umstellen auf "Ja" bekommen natürlich all Deine MSIInstallProducts quasi "/qn" (bei "Nein" ist es "/qb-" verpasst. Wenn Du das nicht willst, dann musst Du mit Execute / RunAs arbeiten, dann kannst Du die Parameter selbst bestimmen.

              Den eigentlichen Fehler sehe ich aber nicht in enteo, sondern im MSI, das anscheinend eine CustomAction mit der Condition CLIENTUILEVEL=2 (oder dies über andere Mechanismen feststellt) in der InstallExecuteSequence hat. Kannst ja mal den Hersteller anfragen was er sich dabei gedacht hat.
              • 4. Re: MSI Property überschreibt MST
                Jeggo Rookie
                Hallo,

                was ich durch Tests herausgefunden ist folgendes:
                - /qb entspricht CLIENTUILEVEL=2 entspricht Enteo: MSI UI anzeigen: Nein
                - /qf entspricht (Default) CLIENTUILEVEL=0 entspricht Enteo: MSI UI anzeigen: Ja

                Für die Schalter /qr und /qn gibt somit wohl leider keine Vorgaben im Enteo.
                Ich konnte zumindest nichts finden.

                Bis bald

                Jens
                • 5. Re: MSI Property überschreibt MST
                  Markus.Zierer Expert
                  Hallo,

                  Also soweit ich die Schalter kenne bedeuten die Folgendes:

                  /qb = Silent, aber mit Basic UI
                  /qn = Silent, kein UI
                  /qf = Silent, Volles UI

                  der Schalter /qr ist mir so noch nicht untergekommen.

                  Ich versteh aber auch dein Problem an der Stelle nicht. Wenn's mit den MSIInstallProduct nicht klappt, dann nimm halt nen RunAs oder Execute und führ die msiexec mit den entsprechenden Parametern aus. Das geht ja auch Ohne Probleme.