12 Replies Latest reply on Jan 25, 2017 3:58 AM by bretzeli

    IBM Notes msiexec.

    nvandre Apprentice
      Guten Tag,
      ich suche eine Lösung eine Silentinstallation von IBM Notes 9 unter Win10 64Bit durchzuführen.

      Es liegt eine angepasste Admininstallation mit einer Transformdatei vor.
      Hier die Zeile des eScriptes, welche Probleme macht
      RunAsEX('.\extrern$\Notes\setup.exe','/s /v"TRANSFORMS=setup.mst/qn"',",",",'test',raUseSisAccount+UndoneContinueParentScript)

      Bei Ausführung geschieht auf dem Client folgendes:
      Neben der gewöhnlichen msiexec.exe von SYSTEM erscheinen zwei weitere msiexec.exe von NiInstService und eine msiexec.exe von SYSTEM gestartet.

      Es folgt die setup.exe von IBM Notes. Diese installiert zunächst wie geplant. Allerdings stockt diese irgendwann. Wenn ich die zwei msiexec.exe von NiInstService manuell beende fährt das Setup von Notes fort und beendet die Installation mit .ini Anpassungen und den Verknüpfungen.

      Scheinbar blockieren die NiInstService-Prozesse den IBM Prozess. Was kann ich tun um das Problem zu lösen?
      Verwendet wird DSM 7.03.001.3386
        • 1. Re: IBM Notes msiexec.
          derniwi Master
          Hallo,

          die Installation von Notes ist ein schwieriges Thema. Ich habe mit diversen Hilfen und langer Suche im Internet nicht viel finden können. Aber letztlich habe ich eine Installation zusammen bekommen, die hier funktioniert.

          Zuerst klappt das nur mit den entsprechenden Installationsquellen:
          Für die Installation bei den Anwendern, die nur den Client benötigen, verwende ich auch genau diese Version, allerdings in Englisch. Die Installation der detuschen Variante scheint bei IBM selbst fehlerhaft zu sein. Nach der Installation ist Notes nicht wirklich nutzbar.
          Also, IBM Notes 9.0.1 Standard Englisch 32 Bit. Danach die notwendigen Sprachpakete einspielen.

          Für die Installation des Clients mit Designer und Administrator ebenfalls die englische Variante laden.

          Für die Installation habe ich ein größeres Skript gebaut. Der wesentliche Teil zur Installation (davon ausgehend, dass kein Notes installiert ist!), ist dieser Abschnitt hier:
          !  Erkennung interaktiver Dienste beenden und deaktivieren
            StopService('UI0Detect',)/TS
            Set('_RCUI','0')
            RunAsEx('%WINSYSDIR%\sc.exe','config UI0Detect start= disabled','','PASSWORD','5','_RCUI',raUseSisAccount+WaitForExecution+raHideWindow+UndoneContinueParentScript)/TW
            If not %_RCUI%='0'
             ExitProcEx(Failed,'Konfiguration interaktiver Dienste ist fehlgeschlagen.')

          !  Notes installieren
            Set('_RC','0')
            RunAsEx('.\Extern$\setup.exe','/s /v"SETMULTIUSER=1 PRELOADNOTES=0 REMOVEFEATURES=ClientSingleLogon /log \"%WinDir%\LOGS\DSM\Notes.log\" /passive /quiet
          orestart"','SETUP-USER','PASSWORD','90','_RC',WaitForExecution+raLogonWithProfile+UndoneContinueParentScript)/TW

          !  Erkennung interaktiver Dienste wieder auf manuellen Start konfigurieren
            Set('_RCUI','0')
            RunAsEx('%WINSYSDIR%\sc.exe','config UI0Detect start= demand','','PASSWORD','5','_RCUI',raUseSisAccount+WaitForExecution+raHideWindow+UndoneContinueParentScript)/TW
            If not %_RCUI%='0'
             ExitProcEx(Failed,'Konfiguration interaktiver Dienste ist fehlgeschlagen.')


          Ich nutze einen Setup-Benutzer, für den die Anwendung dann gestartet wird. Ob das mit dem SIS-Asscount auch funktionieren würde, habe ich nicht mehr getestet.

          Die interaktiven Dienste beende und deaktiviere ich, damit keine Fenster mit einer entsprechenden Meldung erscheint.

          Wenn Du ein Fix Pack einspielen möchtest, ist das auch möglich. Hier unterscheidet sich die Installation allerdings, ob es ein Fix Pack oder ein fix Pack mit Hot Fix ist...

          Fix Pack:
          ! Erkennung interaktiver Dienste beenden und deaktivieren
          StopService('UI0Detect',)/TS
          Set('_RCUI','0')
          RunAsEx('%WINSYSDIR%\sc.exe','config UI0Detect start= disabled','','PASSWORD','5','_RCUI',raUseSisAccount+WaitForExecution+raHideWindow+UndoneContinueParentScript)/TW
          !
          ! Update installieren
          Set('_RC','0')
          RunAsEx('.\Extern$\Setup.exe','/s /v"/passive /qb!-
          orestart /log \"%WinDir%\LOGS\DSM\NotesFP.log\""','SETUP-USER','PASSWORD','90','_RC',WaitForExecution+raLogonWithProfile+UndoneContinueParentScript)/TW
          !
          ! Erkennung interaktiver Dienste wieder auf manuellen Start konfigurieren
          Set('_RCUI','0')
          RunAsEx('%WINSYSDIR%\sc.exe','config UI0Detect start= demand','','PASSWORD','5','_RCUI',raUseSisAccount+WaitForExecution+raHideWindow+UndoneContinueParentScript)/TW
          If not %_RCUI%='0'
            ExitProcEx(Failed,'Konfiguration interaktiver Dienste ist fehlgeschlagen.')


          Fix Pack mit Hot Fix:
          ! Erkennung interaktiver Dienste beenden und deaktivieren
          StopService('UI0Detect',)/TS
          Set('_RCUI','0')
          RunAsEx('%WINSYSDIR%\sc.exe','config UI0Detect start= disabled','','PASSWORD','5','_RCUI',raUseSisAccount+WaitForExecution+raHideWindow+UndoneContinueParentScript)/TW
          !
          ! Update installieren
          Set('_RC','0')
          RunAsEx('.\Extern$\ClientUpdate.exe','/s /v"/passive /qb!-
          orestart /log \"%WinDir%\LOGS\DSM\NotesFP.log\""','SETUP-USER','PASSWORD','90','_RC',WaitForExecution+raLogonWithProfile+UndoneContinueParentScript)/TW
          !
          ! Erkennung interaktiver Dienste wieder auf manuellen Start konfigurieren
          Set('_RCUI','0')
          RunAsEx('%WINSYSDIR%\sc.exe','config UI0Detect start= demand','','PASSWORD','5','_RCUI',raUseSisAccount+WaitForExecution+raHideWindow+UndoneContinueParentScript)/TW
          If not %_RCUI%='0'
            ExitProcEx(Failed,'Konfiguration interaktiver Dienste ist fehlgeschlagen.')


          Und das deutsche Sprachpaket:
           Set('_RC','0')
          RunAsEx('.\Extern$\setup.exe','/s /v"ADDLOCAL=German INITIALUILANG=de /log \"%WinDir%\LOGS\DSM\NotesMUI.log\" /passive /quiet
          orestart"','SETUP-USER','PASSWORD','90','_RC',WaitForExecution+raLogonWithProfile+UndoneContinueParentScript)/TW

          (hier habe ich im Skript-Auszug den Punkt mit der Interaktiven-Dienst-Erkennung weggelassen, nutze ihn aber trotzdem)

          Gruß
          Nils
          • 2. Re: IBM Notes msiexec.
            nvandre Apprentice
            Vielen Dank der ausführlichen Antwort.
            Ich versuche es einmal so auszuführen.

            Mein bisheriger Code sieht so aus


            : Install
            !Notes 9.0.1 Installation

            RunAsEx('.\extern$\Notes_901\setup.exe','/s /v"TRANSFORMS=setup.mst /qn"','','','','test',raUseSisAccount+UndoneContinueParentScript)/TS
            Sleep('300')

            KillProcess('rcplauncher.exe',kpKillChildrenToo+kpKillFirst+kpByFileName)/TS
            KillProcess('notes2.exe',kpKillChildrenToo+kpKillFirst+kpByFileName)/TS
            KillProcess('ntmulti.exe',kpKillChildrenToo+kpKillFirst+kpByFileName)/TS
            KillProcess('SUService.exe',kpKillChildrenToo+kpKillFirst+kpByFileName)/TS

            !Fixpack 7 Installation
            RunAsEx('.\extern$\Notes_901FP7\setup.exe','/S /v/qn','','','','test',raUseSisAccount+UndoneContinueParentScript)/TS
            Sleep('300')
            ModifyINI('c:
            otes
            otes.ini','Notes','NSF_UpdateODS','=1','')/TS
            CopyFileList('c:\Notes\framework\rcp\plugin_Customization.ini')
              .\extern$\Dateien\plugin_Customization.ini
            EndProc/TS

            !Berechtgungen für Domänenbenutzer auf C:\Notes setzen
            ChangeNTFSSecurity('C:\Notes','',cnsSetDirAcl+iSubDirs+csAddACL)
            Domäne\Domänen-Benutzer DOPRWX

            EndProc/TS
            !Notes als Standardprogramm setzen
            RegDeleteKey('HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail','PreFirstRun',)/TS
            RegModify('HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail','(Standard)','Lotus Notes',mrReplace)/TS
            RegModify('HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command','(Standard)','C:\Notes\Notes.exe -defini %1',mrReplace)/TS
            MsgBoxEx('Installationsroutine abgeschlossen','install','',mbOK,'','')

            goto Ende
            !
            !===================================
            : Ende
            ExitProc(Done)
            !
            !Deinstallationsroutine
            : $BeginUninstallScript

            An sich funktionieren alle Zeilen, nur blockieren die 2 msiexec.exe den Abschluss der setup.exe
            • 3. Re: IBM Notes msiexec.
              NicoS1 Master
              Eine kleine Anmerkung noch... bei liegt aktuell folgende Konstellation vor:

              - Windows 10 x64 Englisch (1607 inkl. aktuellem Cumu) + Language Packs
              - Per xml Datei auf Deutsch umgestellt (SystemLocale ist weiterhin Englisch!)
              - Lotus Notes 9.0.1 Englisch
              - Fixpack 6
              - Deutsches + div. Sprachpakete
              (bei einem Client der für Deutsch vorgesehen ist mit den Parametern:
              INITIALUILANG=de REPLACELOCALDB=1 LOCALDBLANG=de)

              In der Konstellation bzw Reihenfolge tritt bei uns (und lt. Internet noch bei anderen) das Problem auf, dass die Installation des DEUTSCHEN Language Packs in einer Endlosschleife hängt und eine notes2.exe läuft mit hoher CPU last.

              Die notes2.exe ist der Eclipse Installer (der auch *irgendwo* unter Appdata) Trace Logfiles wegschreibt (als XML). Die Schleife die er dort Produziert zeigt in den Logs, dass ein übergeordnetes Feature nicht aktiviert wäre und deshalb das untergeordnete Feature Deutsch Wörterbuch (Schweiz) nicht installiert werden kann (so irgendwie)

              Das ist wohl ein Bug, wenn die Systemsprache des OS nicht auf Deutsch eingestellt ist. Abilfe bei mir schafft allerdings die Reihenfolge zu ändern:
              - Notes 9.0.1
              - Language Packs
              - Dann erst Fixpack 6

              Der Punkt, dass die lokalisierten Versionen von Notes 9.0.1 buggy sind... ich kann mich hier nur dran erinnern, dass die ersten (lokalisierten) Sourcen von Notes das Problem hatten, das man danach kein Fixpack installieren konnte. Das wurde aber Ende 2013 behoben. Hier ggf. checken, dass du keine alten Sourcen hast.
              • 4. Re: IBM Notes msiexec.
                derniwi Master
                Ja, die Reihenfolge habe ich auch so:
                Notes 9 Client
                Sprachpaket(e)
                Fix Pack / Fix Pack mit Hot Fix
                Notes Konfiguration

                Ich nutze gerne eigene Pakete für jeden Punkt, somit kann ich dann etwas einfacher einzelne Komponenten aktualisieren.

                Das Problem mit der Installation und dem Hängenbleiben hatte ich jetzt speziell nicht, aber Notes 9 haben wir noch nicht soooo lange im Einsatz, erst so seit ca. 2015.

                Mir sind folgende Probleme mit der Installation bekannt:
                lokalisiertes Notes-Setup:
                falsche Einträge in einer notes.ini, dadurch kein Zugriff auf die Templates möglich

                generell:
                Anzeige einer Meldung für interaktive Dienste, die dann die Installation aufhält

                Client mit Designer und Administrator:
                Bei der Verwendung des Clients mit Designer und Administrator ist eine Deinstallation nur möglich, wenn der Client nicht als Multi-User-System installiert ist, also mit der Quelle nur Client, Designer und Admin installieren, keine Nur-Client-Variante.

                Installation Fix Pack / Hot Fix:
                Eine erneute Installation eines Fix Packs oder Hot Fixes führt zur Deinstallation desselben. Eine generelle Deinstallation gibt es nicht. Hier muss man halt prüfen, was installiert ist und für eine Neuinstallation eines Fix Packs die Installation doppelt ausführen..
                • 5. Re: IBM Notes msiexec.
                  rOrth Rookie
                  Auch wenn ich Notes nicht so gut kenne, gebe ich mal meinen Senf dazu:
                  Bei "hängenden" msiexec ist meist eine Custom Action im msi definiert, die auf Benutzereingaben wartet. Da wartet sie dann lange
                  Mit Orca o.ä. kann man das aus der msi rausoperieren.
                  • 6. Re: IBM Notes msiexec.
                    NicoS1 Master

                    Auch wenn ich Notes nicht so gut kenne, gebe ich mal meinen Senf dazu:
                    Bei "hängenden" msiexec ist meist eine Custom Action im msi definiert, die auf Benutzereingaben wartet. Da wartet sie dann lange
                    Mit Orca o.ä. kann man das aus der msi rausoperieren.



                    Genau, im falle von Notes, prüfen ob eine notes.exe oder notes2.exe läuft, das ist der Eclipse Installer, den muss man separat debuggen wie oben geschrieben mit den xml logs.
                    • 7. Re: IBM Notes msiexec.
                      derniwi Master
                      Etwas Off-Topic, aber es gibt auch Anwendungen, die sich nicht über den Service installieren lassen, weil sie ein Fenster öffnen können möchten nichtm, dass dann ein Fenster aufgeht, da man das mit speziellen Optionen ja ausblenden kann, aber ich hatte genau diesen Fall schon.

                      Notes hat da aber andere "Probleme"... und mit msiexec und der MSI von Notes bin ich gar nicht so richtig zu einem Ergebniss gekommen. Ebenso gab es früher auch ein Installations-Tool von Lotus/IBM, mit dem man einen Automatismus vorbereiten konnte. Aber auch der war (meiner Meinung nach) nur für eine erleichterte manuelle Installation hilfreich.
                      • 8. Re: IBM Notes msiexec.
                        nvandre Apprentice
                        Hallo, mit diesen Zeilen hat es fast komplett funktioniert:

                        ! ===================================
                        : Install
                        !=== Erkennung interaktiver Dienste beenden und deaktivieren ===
                        StopService('UI0Detect',)/TS
                        Set('_RCUI','0')
                        RunAsEx('%WINSYSDIR%\sc.exe','config UI0Detect start= disabled','','k28E811A9791052F823534','3','_RCUI',raUseSisAccount+WaitForExecution+raHideWindow+UndoneContinueParentScript)/TS
                        If not %_RCUI%='0'
                        ExitProcEx(Failed,'Konfiguration interaktiver Dienste ist fehlgeschlagen.')
                        !=== Notes installieren ===
                        Set('_RC','0')
                        RunAsEx('.\Extern$\Notes9\setup.exe','/s /v"SETMULTIUSER=0 PRELOADNOTES=0 REMOVEFEATURES=ClientSingleLogon /passive /quiet
                        orestart"','','PASSWORD','10','_RC',raUseSisAccount+WaitForExecution+UndoneContinueParentScript)/TS

                        !=== Fixpack 7 Installation ===
                        RunAsEx('.\extern$\Notes_901FP7\setup.exe','/s /v"/passive /qb!-
                        orestart"','','k28E811A9791052F823534','10','_RC',raUseSisAccount+WaitForExecution+UndoneContinueParentScript)/TS

                        ModifyINI('c:
                        otes
                        otes.ini','Notes','NSF_UpdateODS','1','')/TS
                        CopyFileList('c:\Notes\framework\rcp\plugin_Customization.ini')
                          .\extern$\Dateien\plugin_Customization.ini
                        EndProc/TS
                        !=== Berechtgungen für Domänenbenutzer auf C:\Notes setzen ===
                        ChangeNTFSSecurity('C:\Notes','',cnsSetDirAcl+iSubDirs+csAddACL)
                        Domäne\Domänen-Benutzer DOPRWX

                        EndProc/TS
                        !=== Notes als Standardprogramm setzen ===
                        RegModify('HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail','(Standard)','Lotus Notes',mrReplace)/TS
                        RegModify('HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command','(Standard)','C:\Notes\Notes.exe -defini %1',mrReplace)/TS
                        !=== Erkennung interaktiver Dienste wieder auf manuellen Start konfigurieren ===
                        Set('_RCUI','0')
                        RunAsEx('%WINSYSDIR%\sc.exe','config UI0Detect start= demand','','k2678177EG786BEEF7ED3E','3','_RCUI',raUseSisAccount+WaitForExecution+raHideWindow+UndoneContinueParentScript)/TS
                        If not %_RCUI%='0'
                        ExitProcEx(Failed,'Konfiguration interaktiver Dienste ist fehlgeschlagen.')
                        !===================================


                        Es gibt jedoch eine Frage zu den rot markierten Bereichen.
                        Ist ein User angemeldet funktioniert die Installation komplett fehlerfrei.
                        Es soll jedoch möglich sein, nach einem Kaltstart ohne Useranmeldung zu installieren.
                        Wird dies gemacht befinden wir uns aber bei Post #1... 4 msiexec.exe und eine notes2.exe, die sich weigert die Installation abzuschließen.

                        Muss ich noch etwas beachten?
                        • 9. Re: IBM Notes msiexec.
                          bretzeli Expert
                          Braucht noch jemand Domino ausser das franz. Militär?

                          Der Schei*** von IBM hat noch nie funktioniert. Kann mich erinnern, dass wir dies so peinlich es klingt IMMER mit AUTOIT installiert haben (Das bei einer Grossfirma mit 2000+ clients). Jede Installation welche wir mit MSI und MST zum laufen gebracht hatten verhielt sich anders als manuell installiert.

                          IBM hatte damals keine Ahnung von Windows Installer und die Pakete welche von IBM gekommen sind sind lange durhc MSI Validation Suites gefallen....

                          Nur falls sich dies nicht geändert hat...

                          Lass am Schuss mal einen Domino Experten drüber schauen und wenn es gleich ist lass es und installiere es mit Butoon fuer Button mit AUTOIT ;-)

                          Exchange 20XX ist doch so ein perfektes Produkt ;-)
                          • 10. Re: IBM Notes msiexec.
                            derniwi Master
                            Hallo,

                            Es gibt jedoch eine Frage zu den rot markierten Bereichen.
                            Ist ein User angemeldet funktioniert die Installation komplett fehlerfrei.
                            Es soll jedoch möglich sein, nach einem Kaltstart ohne Useranmeldung zu installieren.
                            Wird dies gemacht befinden wir uns aber bei Post #1... 4 msiexec.exe und eine notes2.exe, die sich weigert die Installation abzuschließen.



                            Das Paket läuft hier nur im Kontext eines Benutzers... Du könntest prüfen, ob eine "explorer.exe" läuft und ggfs. die Installation mit ExitProc(Undone) beenden.

                            Und Bretzli, ich kann Dich verstehen. Aber es gibt noch genügend Firmen, die das einsetzen, da eine Umstellung vorhandener Datenbanken recht aufwendig und somit auch teuer sein kann.

                            Wie gut oder schlecht Outlook / Exchange / Sharepoint im Vergleich ist, kann ich nicht beurteilen, aber an den wenigen Stellen, wo ich schon etwas mit Sharepoint in Berührung gekommen bin, bin ich froh, dass wir hier Notes haben (übersichtlicher, schneller, flexibler). Aber das kann natürlich auch an einer schelchten Implentierung in SP liegen.

                            Gruß
                            Nils
                            • 11. Re: IBM Notes msiexec.
                              nvandre Apprentice
                              Problem ist ja, dass die notes2.exe nicht weitermacht, wenn ohne User angestoßen wird.

                              Dies fand ich heraus, als ich mich nach einer Stunde am System anmeldete. Im TaskManager waren 4 msiexec.exe (2x SYSTEM, 2x NiInstService) und eine notes2.exe, die weder CPU noch RAM Auslastung veränderte - als wäre sie eingefroren.

                              Wenn die zwei msiexec.exe von NiInstService beendet werden macht die notes2.exe weiter.
                              • 12. Re: IBM Notes msiexec.
                                derniwi Master
                                Ja, wie schon an anderen Stellen benannt. Es gibt leider Anwendungen, die zur Installation ein Fenster öffnen können möchten (klingt doch toll, oder?).
                                Das heißt, auch wenn die Anwendung kein Fenster öffnet (oder eines öffnet und sofort wieder schließt), schlägt entweder die Installation fehl oder das System bleibt wie bei Dir beschrieben hängen.

                                Als Lösung dafür kann ich nur sagen, dass ein Benutzer angemeldet sein muss. Ob das dann auch funktioniert, wenn der Bildschirm gesperrt ist, kann ich auch nicht sagen.

                                Bei einer Installation prüfe ich, ob eine "explorer.exe" geöffnet ist, dann ist auch ein Benutzer angemeldet. Ein RunAsEx während dem Login-Bild hat bei mir auch nicht geholfen.

                                Es gab wohl auch erfolgreiche Installation von Notes mit dem Aufruf über msiexec.exe und der entsprechenden MSI, aber da das ja nur ein Container ist und darin noch einiges läuft, würde ich nicht darauf tippen, dass das besser funktioniert. Ich habe da aber nicht mehr weiter gesucht, ich war schon froh, dass ich die Fehler von IBM gefunden habe (keine deutsche Version installieren, Admin&Designer nur für Installation, die auch diese nutzen und dann kein Mulit-User-Support an dieser Maschine).

                                Die Installation selbst ist mit InstallShield paketiert, ob es hierfür einen Debugger gibt, weiß ich leider auch nicht. Aber alleine, dass die Installation eine msi-Datei, eine "Data1.cab" sowie noch eine .zip-Datei enthält, finde ich schon schwierig - also, in dem Sinne, dass man da als Ausenstehender noch irgendwie einen Durchblick haben könnte.