12 Replies Latest reply on Jul 25, 2016 12:26 AM by derniwi

    Verteilen der Standard-Software nach Neuinstallation (OSD)

    mott Apprentice
      Hi zusammen,

      mich würde mal Euer Vorgehen interessieren, wie ihr Eure Standardsoftware auf einen neuinstallierten Rechner (ob OSD oder nicht ist ja egal) verteilt!?

      Bei uns ist es derzeit folgendermaßen:

      1. Überlegung: war ein SW-Set mit allen Standardpaketen (lief zu oft auf unergründliche Fehler, wurde abgeschafft).

      2. Überlegung: war eine statische Gruppe, in die alle neu aufgesetzten Rechner geschoben werden und dieser Gruppe sind halt dann alle möglichen Policies zugewiesen mit den Standardpaketen (MS Office, IBM Notes, Adobe Reader, .... VLC ).  Die Reihenfolge erschließt sich über das Attribut "Installationsreihenfolge" des einzelnen Pakets.
      Auch diese Überlegung ist derzeit am sterben, da wohl einige Pakete bereits als abgeschlossen markiert werden, obwohl sie das nicht sind und es zu Überschneidungen und somit zu Abbrüchen kommt

      3. Überlegung: für jedes Standardpaket eine Programmgruppe (haben wir eh schon) und die neu installierten Rechner einzeln in eben diese Gruppen verschieben.

      Methode 3 erwies sich als am zuverlässigsten, verlangt aber uns Admin halt ab, das wir ja nicht vergessen dürfen einen neuen Rechner in alle diese Gruppen zu packen.

      Wie geht ihr bei der Verteilung der Standardpakte (d.h. Software, die wirklich jeder PC benötigt) vor?

      Danke und

      Gruß

      mott
        • 1. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
          _Mel_ Master
          was meinst du damit, daß "einige Pakete bereits als abgeschlossen markiert werden" ?
          falls du die preinstalled conditions meinst - die müßten in den anderen szenarien ebenso greifen.
          der unterschied zwischen 2 und 3 dürfte eigentlich nur darin bestehen, wie granular man die zuweisung steuern kann. wenn man alle pakete zuweist, darf das für die installation keinen unterschied machen.
          • 2. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
            mott Apprentice
            Hi Mel,

            was meinst du damit, daß "einige Pakete bereits als abgeschlossen markiert werden" ?



            Packete werden z. T. als abgeschlossen behandelt, obwohl das Setup eigentlich noch läuft. Ich kann den Fehler nicht finden und bin derzeit wirklich schwer am suchen. Ich tippe darauf, das es dieses "ruchlose" "IBM Notes" ist, das mir hier das leben schwer macht
            Andere Packete laufen schon 2 Sekunden nachdem die Installation angestoßen ist auf timeout, was sich auch nicht so recht nachvollziehen lässt, da es nicht jedesmal, sondern nur vereinzelt passiert. Auch dieses Verhalten lässt sich nur schwer reproduzieren.

            Einzeln laufen alle Packete, ja wie gewollt, sonst würd' ich sie nicht freigeben, aber im Zusammenspiel hapert es noch. Erinnert mich an die EM

            Ich geb' Dir Recht, das es zw. 2 und 3 keinen echten Unterschied geben sollte, die Erfahrung hat aber (leider) gezeigt, das 3 zuverlässiger läuft, als 2.

            Aber die Frage war auch, wie macht ihr das!? Gibt es einen eleganteren / zuverlässigeren Weg, den ich vielleicht nicht kenn'?

            Danke und

            Gruß aus Oberfranken

            mott
            • 3. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
              derniwi Master
              Hallo mott,

              ich habe das über Schemenerweiterungen und dynamische Gruppen geregelt.
              Über die Schemenerweiterung kann ausgewählt werden, welches OS (aktuell nur Win 7), welche Archtiketur (32 oder 64 Bit) und welche Konfiguration (Test, Produktiv, Nur OS und Treiber...).

              Über dynamische Gruppen wird dann auf die entsprechenden Punkte grpüft und somit kommen die den Gruppen zugewiesenen Pakete auf die Rechner.

              Bei den meisten Paketen bzw. Software-Sets habe ich dann aber zwei Policies: eine für Test und eine für Produktiv. Bei der Konfiguration "OS mit Treibern" kommen auch ein paar weitere Pakete zum Einsatz, z.B. der Virenscanner oder aber Shop-Policies für Standardprogramme, damit hier auf spezielle Fälle reagiert werden kann, z.B. der Adobe Reader, Firefox, Office...

              Damit habe ich aber im Prinzip das gleiche Problem wie Du mit Punkt zwei...

              1. Überlegung: war ein SW-Set mit allen Standardpaketen (lief zu oft auf unergründliche Fehler, wurde abgeschafft).


              Ein Set sollte miener Meinung nach nur eine Anwendung installieren. Halt mit allem drum und dran, aber eben nur eine Anwendung, also z.B. Adobe Reader mit Fonts und Sprachpaketen...

              2. Überlegung: war eine statische Gruppe, in die alle neu aufgesetzten Rechner geschoben werden und dieser Gruppe sind halt dann alle möglichen Policies zugewiesen mit den Standardpaketen (MS Office, IBM Notes, Adobe Reader, .... VLC ).  Die Reihenfolge erschließt sich über das Attribut "Installationsreihenfolge" des einzelnen Pakets.
              Auch diese Überlegung ist derzeit am sterben, da wohl einige Pakete bereits als abgeschlossen markiert werden, obwohl sie das nicht sind und es zu Überschneidungen und somit zu Abbrüchen kommt


              Was meinst Du mit "bereits als abgeschlossen markiert werden"?
              Pakete, die freigegeben sind, aber eigentlich nicht wirklich getestet wurden? Und dann auf Fehler laufen? Dieses Problem wirst Du mit keiner Art der Zuordnung beheben können. Siehe weiter unten.

              3. Überlegung: für jedes Standardpaket eine Programmgruppe (haben wir eh schon) und die neu installierten Rechner einzeln in eben diese Gruppen verschieben.

              Methode 3 erwies sich als am zuverlässigsten, verlangt aber uns Admin halt ab, das wir ja nicht vergessen dürfen einen neuen Rechner in alle diese Gruppen zu packen.


              Was ist der Vorteil gegenüber Punkt 2? Der Nachteil ist der von Dir genannte administrative Aufwand, einen Vorteil erkenne ich nicht.

              Wie geht ihr bei der Verteilung der Standardpakte (d.h. Software, die wirklich jeder PC benötigt) vor?


              Es gibt auch noch Anwendungen, die eben nicht jeder benötigt. Diese Art sollte man in der Planung auch einbeziehen. Hier habe ich im Prinzip zwei Ansätze:
              1. Anwendungen, die lizenztechnisch nicht problematisch sind, gibt es dann für alle über den Software-Shop
              2. Anwendungen mit Lizenzanforderungen gibt es über statische Gruppen und entsprechender Rechnerzuweisung.

              Anwendungen werden grundsätzlich nicht Benutzern zugeordnet (Ausnahme: was zur Erstinstallation des Rechners gebraucht wird, hier gibt es z.B. ein Paket, welches den Ton abschaltet.. ).

              ----------------------------------------------------------

              Paketierung, Test und Freigaben:
              Zuerst kommt es auf die Anwendung an, wiee komplex ist sie, was soll veretilt werden.
              Ist es ein Registry-Key, dann ist das noch relativ einfach.

              Will ich eine komplexere Anwendung verteilen, dann muss ich mal schauen, was diese Anwendung an Voraussetzungen verlangt und was sie mit sich bringt. Z.B. wollen viele Programme ein .NET Framework 4 haben, falls dasn icht vorhanden ist, wird es installiert. Ebenso auch VC++-Runtimes in den unterschiedlichsten Versionen. Wenn ich so eine Anwendung habe, dann versuche ich diese in die Komponenten zu zerlegen und jede Komponete zu paketieren. .NET 4.5 => 4.6 sind als Paket vorhanden, kann ich somit in das Set einbinden. Die VC++ habe ich auch alle paketiert, kann ich ebenfalls einbinden. Was noch fehlt, muss noch erstellt werden. Dann wird getestet, wie das klappt. Installation, Deinstallation, Reparatur usw.

              Zum Paketieren nehme ich auch fast immer eine Installation "nur OS und Treiber"... und das ist in derRegel eine virtuelle Maschine, die regelmäßig neu installiert wird.

              Wenn es noch andere Punkte gibt, muss man schauen, ob man noch Voraussetzungen einplant.

              Warum paketiere ich VC++ separat? Falls eine Anwendung X diese Komponente installieren will, kann es auch sein, dass es diese nach einer Deinstallation wieder entfernt (ja, das gibt es wirklich). somit wäre dann eine andere Anwendung Y plötzlich nicht mehr lauffähig. Durch den Eintrag im Software-Set sehe ich das zum einen schneller, zum anderen kommt Software X evtl. gar nicht auf die Idee, das VC++ zu installieren (ist ja schon da), und im guten Fall würde es das auch nicht deinstallieren. Weiterhin hat aber Y ja immer noch das VC++ über das Software-Set eingetragen. Wenn am Set jetzt noch die "Is Compliant"-Bedingung richtig gesetzt ist, kann da eigentlich nichts mehr schief gehen, denn DSM sollte dann erkennen, dass VC++ entfernt wurde und das Paket nicht mehr compliant ist, somit würde es dann (mit dem entsprechenden Haken) wieder installieren.


              Gruß
              Nils
              • 4. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                derniwi Master
                Hallo mott,

                Packete werden z. T. als abgeschlossen behandelt, obwohl das Setup eigentlich noch läuft. Ich kann den Fehler nicht finden und bin derzeit wirklich schwer am suchen. Ich tippe darauf, das es dieses "ruchlose" "IBM Notes" ist, das mir hier das leben schwer macht
                Andere Packete laufen schon 2 Sekunden nachdem die Installation angestoßen ist auf timeout, was sich auch nicht so recht nachvollziehen lässt, da es nicht jedesmal, sondern nur vereinzelt passiert. Auch dieses Verhalten lässt sich nur schwer reproduzieren.

                Einzeln laufen alle Packete, ja wie gewollt, sonst würd' ich sie nicht freigeben, aber im Zusammenspiel hapert es noch. Erinnert mich an die EM

                Ich geb' Dir Recht, das es zw. 2 und 3 keinen echten Unterschied geben sollte, die Erfahrung hat aber (leider) gezeigt, das 3 zuverlässiger läuft, als 2.

                Aber die Frage war auch, wie macht ihr das!? Gibt es einen eleganteren / zuverlässigeren Weg, den ich vielleicht nicht kenn'?



                OK, das sind andere Punkte.
                Aber bei solchen Problemen kannst du hier ja gerne fragen.
                IBM Notes ist leider eine nicht ganz triviale Anwendung, aber das kann man hinbekommen. Was hast Du bereits gemacht? Was ist das Ziel?

                Es gibt durchaus Installationen, bei denen ein Setup startet, dieses eine weiteres Setup anstößt und das erst Setup dann beendet. Damit hat man immer etwas mehr Aufwand. Hier muss man schauen, was so läuft und evtl. auf das Ende des zweiten Setups warten...

                Da es X verschiedene Installer gibt, gibt es keinen allgemein sauberen Weg.

                Gruß
                Nils
                • 5. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                  Ratzratz Expert
                  Hallo mott,

                  zu dem Problem dass manchmal Anwendungen als abgeschlossen markiert sind obwohl sie es nicht sind hat Nils schon geschrieben, dass evtl. ein Hintergrund-Installer angestoßen wird und die setup.exe im Vordergrund eben nach 1 Sek. fertig ist und somit das Paket zu früh auf grün geht.
                  Das haben Anwendungen mit obskuren Installern öfters mal.
                  Eine Möglichkeit, das zu testen ist in einer VM die setup.exe mit den entsprechenden Parametern (/silent, /S, quiet, etc.) so zu starten:

                  start "" /WAIT setup.exe ...

                  und dabei gleichzeitig im Taskmanager zu kontrollieren, ob nur die setup.exe läuft oder ob weitere Prozesse hochkommen.

                  Wenn die setup.exe schneller fertig ist als evtl. zusätzlich gestartete weitere Prozesse ist die Installation noch am Laufen und der Haken "Auf Ausführung des Programms warten" im Execute-Befehl ist nutzlos.
                  Da hilft dann nur, die zu erwartende Installationsdauer auf den schwächsten Endgeräten abzuschätzen, mit 1,5 zu multiplizieren (zur Sicherheit) und diese Zeitdauer nach dem Start der Installation per SLEEP zu warten.

                  Gruß
                  Matthias
                  • 6. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                    derniwi Master
                    Hallo,

                    Wenn die setup.exe schneller fertig ist als evtl. zusätzlich gestartete weitere Prozesse ist die Installation noch am Laufen und der Haken "Auf Ausführung des Programms warten" im Execute-Befehl ist nutzlos.
                    Da hilft dann nur, die zu erwartende Installationsdauer auf den schwächsten Endgeräten abzuschätzen, mit 1,5 zu multiplizieren (zur Sicherheit) und diese Zeitdauer nach dem Start der Installation per SLEEP zu warten.



                    Nicht unbedingt.
                    Man kann auch eine Schleife programmieren und warten, bis die entsprechende Setup.exe (oder wie das Installationsprogramm letztlich auch heißt), beendet ist. Hierzu kann man sich mal die Office 2007-Installationsvorlage von FrontRange anschauen. Sollte hier liegen:
                    \\DSMServer\DSM\PrePackagedApps\{9B3649AD-FEF0-4B4A-A7AE-A500A939BC5F}\Script.inc

                    Letztlich läuft das dann nach folgendem Schema ab:
                    Set('WMI_Handle','0')
                    : Loop
                    Sleep('30')
                    WMISimpleQuery('\\.\root\cimv2','Win32_Process','Name=setup.exe','WMI_')
                    Handle
                    EndProc
                    If %WMI_Handle%>'0'
                    Set('WMI_Handle','0')
                    goto Loop


                    Eine andere Idee wäre, das Zielverzeichnis zu überwachen und zu schauen, welche Dateien da so ziemlich zum Schluss abgelegt werden. Und dann in der Schleife auf deren Existenz zu prüfen.

                    Und die nächste Idee ist es, ein Protokoll erstellen zu lassen, das können ja auch viele Installer. Und da müsste man mal schauen, ob man am Ende eine feste Zeile findet, was man auch in einer Schleife prüfen kann...

                    Aber es gibt glücklicherweise nicht viele solcher Anwendungen, ich denke, dass ich derer kein fünf in unserem System habe...

                    Gruß
                    Nils
                    • 7. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                      mott Apprentice
                      Hallo zusammen,

                      ich danke Euch für die Anregungen! Ich hab' einige neue Ideen / Eindrücke sammeln können!

                      Ich komme zu dem Schluß, das die Version 2 (Gruppe mit Standard-Software) beibehalten wird, ich muss halt meine schwarzen Schäfchen suchen und herausfinden, warum gewisse Packete die einzeln sehr wohl laufen, in der Gruppe querschlagen.

                      Dabei hat mir der Tip mit dem loop sehr gut geholfen. Bei Notes ist die Installation (meist) dann abgeschlossen, das das Desktop-Icon erstellt wurde und sowas kann DSM (witzigerweise) abfragen!

                      Danke noch mal und

                      Gruß aus Oberfranken

                      mott
                      • 8. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                        derniwi Master
                        Hallo mott,

                        gerne doch.
                        Aber mich würde mal die Zeile für die Installation interessieren, die Du verwendest. Und welche Quellpakete Du einsetzt. Bei Notes ist das leider nicht so einfach... mit der deutschen Installationsquelle habe ich Probleme, die mit der englischen nicht auftreten.

                        Gruß
                        Nils
                        • 9. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                          mott Apprentice
                          Hi Niwi,

                          nett das Du fragst, hab Deinen Beitrag zum FP3 schon vor einiger Zeit studiert und bei mir das Packet für FP4 danach ausgerichtet :-)

                          Der Setup-String für das "IBM Notes 9.0.1" sah bei uns folgendermaßen aus:

                          RunAsEx('.\Extern$\Msidata\setup.exe','/s /v"ADDFEATURES=ClientSingleLogon /qn"','','','','myvar1',raShowMinimized+raUseSisAccount+UndoneContinueParentScript)


                          Nun so:

                           RunAsEx('.\Extern$\Msidata\setup.exe','/s /v"ADDFEATURES=ClientSingleLogon /qn"','','','30','myvar1',raShowMinimized+raUseSisAccount+WaitForExecution+UndoneContinueParentScript)
                          !MSIInstallProduct('.\Extern$\Msidata\IBM Notes 9.0.1 Social Edition.msi','NORMAL',MsiInstMach)

                          params:ALLUSERS=2 ADDFEATURES=ClientSingleLogon
                          EndProc/TS
                          : myloop
                          Sleep('60')
                          If not ExistIcon('IBM Notes Desktop','"c:\Users\Public\Desktop\IBM Notes.lnk"','',eLocal)
                          goto myloop


                          Das hab ich aber eben erst geändert. Ein erster Test an einem Neuen PC war erfolgreich,  wie sich das Paket mit anderen verträgt, gilt es jetzt weiter zu testen.

                          Gruß aus Oberfranken

                          mott
                          • 10. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                            derniwi Master
                            Hallo,

                            wenn ich das PAket jetzt nochmal anfasse, würde ich - da es eine integrierte MSI-Installation ist - noch den MSI-Parameter "REBOOT=ReallySuppress" einfügen.

                            Weitere Probleme können entstehen, wenn das Paket repariert oder neu installiert wird. Dann müssen zuerst vorhandene Sprachpakete deinstalliert werden, ebenso Notes. Mit DSM 2016.1 kann man jetzt ja auch andere Paket zur erneuten Installation markieren, das fehlt bei mir noch. Das wären dann min. das deutsche Sprachpaket und das entsprechende fix Pack (es gibt aktuell FP6).

                            Weiterhin beende ich für die Installation die "Erkennung interaktiver Dienste" (UI0Detect) und starte diesen nach der Instalaltion wieder.

                            Für die Installation des FixPacks habe ich ein separates Paket. Wenn man das FP ein zweites mal installiert, wird es deinstalliert. Daher muss man nach Abschluss der Installation prüfen, ob es installiert wurde. Hierzu teste ich das Datum der nsd.exe, da ich keine Versionsinformationen gefunden habe, die hier zuverlässiger sind.

                            Edit:

                            Der Setup-String für das "IBM Notes 9.0.1" sah bei uns folgendermaßen aus:

                            RunAsEx('.\Extern$\Msidata\setup.exe','/s /v"ADDFEATURES=ClientSingleLogon /qn"','','','','myvar1',raShowMinimized+raUseSisAccount+UndoneContinueParentScript)


                            Hier hast Du aber, wenn ich das richtig sehe, nicht auf das Ende der Setup.exe gewartet. D.h. die Setup.exe wird mit den entsprechenden Parameter gestartet und installiert dann, gleichzeitig läuft das eScript aber weiter. Das ist ganz, ganz schlecht.

                            Du solltest auch unbedingt die Protokolle beim Client während der Tests ausgiebig durchschauen. Seit DSM 2015.2 findet man den Start der Installationen, in dem man in den "NISRV32_xxx.log" und "NIAI32_xxx.log"-Dateien nach "-- >" (Strich Strich Leerstelle Strich) sucht.
                            Und den Log-Level auf "0" zu stellen ist auch sehr hilfreich. Dann solltest Du bei den Zeitstempeln sehen, dass die Setup.exe gestartet wird, aber der nächste eScript-Befehl recht zügig durchgeführt wird.

                            Gruß
                            Nils
                            • 11. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                              mott Apprentice
                              Hi NiWi,

                              danke für die Antwort.

                              Ich werde das alles beherzigen, was Du mir geraten hast. BTW das waren auf die Setup.exe hatte ich in einer älteren Revision sehrwohl drin, hat aber so gar nüscht gebracht. Deshalb ist das jetzt auch weg.

                              Jetzt mit dem loop läuft das ziemlich geschmeidig. Es ist übrigens geschickter mit if not exist die Verknüpfung auf dem Desktop zu prüfen. ExistIcon hat gar nix gebracht! Und es ist auch ne ziemlich suspekte Funktion .

                              Nächste Woche haben wir dann endlich auch mal (nach 1,5 Jahren DSM-Benutzung) ne anständige Schulung, da werd ich mit dem jungen Mann von Frontrange die anderen Seltsamkeiten mal troubleshooten

                              Gruß aus Oberfranken

                              mott
                              • 12. Re: Verteilen der Standard-Software nach Neuinstallation (OSD)
                                derniwi Master
                                Hallo mott,

                                wie gesagt, bei der Installation mit RunAsEx sollte der Loop nicht notwendig sein.

                                Gruß
                                Nils