2 Replies Latest reply on Feb 18, 2016 10:18 AM by _Mel_

    DSM 2015.2: Pakete im Software-Set austauschen

    derniwi Master
      Hallo,

      ich habe hier Anwendungen, bei denen eine Aktualisierung durch Installation der neueren Version nicht funktioniert. Man muss die alte Version erst deinstallieren und kann dann die neue einspielen.

      Bisher nutze ich hierfür Software-Sets. Ich kopiere dann meist nur das einzelne Paket und aktualisiere dieses. Von Paket v1.1 wird eine neue Kopie erstellt und dann in Paket v1.2 umbenannt. Dann die Änderungen darin durchgeführt.

      Im Software-Set entferne ich Paket v1.1 und füge Paket v1.2 hinzu. Somit bleiben die Policy-Instanzen erhalten, weiterhin wird zuerst die Deinstallationsroutine von v1.1 aufgerufen - klar, das Paket muss dieses natürlich unterstützen.

      Hier sehe ich aber seit DSM 2015.2 im Protookoll, dass jetzt wieder versucht wird, eine alte Version v1.1 zu deinstallieren, was aber nicht geht:
      16:08:42.327 1     Reading undo info for 'db:master\Paket v1.1' from the registry...
      16:08:42.328 0      Loading user-part from 'Files copied'...
      16:08:42.328 1      No files were copied during installation
      16:08:42.329 0      Loading user-part from 'Backups created'...
      16:08:42.329 1      No files were backuped during installation
      16:08:42.329 2      ER: Creating event manager
      16:08:42.330 1      ER: file name is C:\Program Files (x86)\NetInst\ExR\Event.erl
      16:08:42.330 1      ER: user name is _DSM.Service
      16:08:42.331 1     Logging up ExR event 3101 (0x00000c1d)
      16:08:42.332 0     Check if sending data is on: ExrClientOptions.ExrSendingActivated

      16:08:42.333 1     ExR is allowed to send data.
      16:08:42.333 1     Loading SI.dll ...

      16:08:42.334 1     SI: Starting ExRSend.exe ...
      16:08:42.334 2     SI: Rewriting SI client state data...
      16:08:42.335 1      SI: Reading client state...
      16:08:42.343 0      SI: Getting IP addresses...
      16:08:42.344 0      SI: Getting MAC addresses...
      16:08:42.344 1      SI: Writing possible changes of client state...
      16:08:42.353 E     Warning (Module:Main, Severity:0x03): Kann die Installation von PPaket v1.1 Bit nicht rückgängig machen, weil das Paket nie ausgeführt wurde.
      16:08:42.354 1    > Action 'Executing project db:master\PDFsam 2.2.4 - 64 Bit [ExecFlags: 0x004020 (uninstall, usr)]' failed (Action took 94 ms.)
      16:08:42.355 2   SWMSRT: Deleted 1 old user parts


      Auch unschön. Und die Meldung kommt auch bei jedem Installerlauf. Das Paket war mal installiert, wurde aber, wie beschrieben, ersetzt.

      Gruß
      Nils
        • 1. Re: DSM 2015.2: Pakete im Software-Set austauschen
          Klaus Salger Expert
          Hallo Nils,

          das Log wird vom Agent geschrieben, der Service-Installer tut nichts dergleichen, oder?
          Ich nehme an, das betrifft nur den Benutzerteil.

          Von den Details, wie überflüssiger Warnings abgesehen, würde ich sagen, das ist "by design".
          - Paket mit Benutzerteil wird auf Computer installiert
          - Benutzer A und B melden sich an
          - die Benutzerteile werden bei beiden (allen) installiert
          - Paket wird von Computer deinstalliert
          - die Benutzerteile sollen von allen Benutzern wieder entfernt werden

          Woher soll DSM wissen, dass der Benutzerteil bei allen Benutzern deinstalliert wurde?
          Es wird demzufolge bei allen dauerhaft geprüft, ob der Benutzerteil dieses Pakets vorhanden ist und wenn das so ist wird er deinstalliert.

          Ich finde das ganze Handling der Benutzerteile gelinde gesagt "unbefriedigend" aber was Du siehst ist m.E. genau so zu erwarten.

          Wenn das Paket gar nicht wirklich einen Benutzerteil hat, dann würde ich raten die Installation der Benutzerteile am Paket zu deaktivieren. Dann ist der Fall erledigt.
          Wenn es einen Benutzerteil gibt, dann sorge ich im Regelfall dafür, dass er nicht deinstalliert wird.
          Das hält DSM nicht davon ab bei jedem Benutzer zu prüfen, ob ein Benutzerteil vorhanden ist aber vermeidet zumindest Probleme wegen unwünschter Deinstallationen der Benutzerteile.

          Kommen die an Extended Reporting gemeldeten Warnings bei dir eigentlich im ExR an?
          Ich sehe da bei den neueren Versionen immer Fehler beim Versuch die Events zu verschicken.

          Ciao
            Klaus
          • 2. Re: DSM 2015.2: Pakete im Software-Set austauschen
            _Mel_ Master
            das könnte ein unvollständiger installationsteintrag in der registry sein - genug um das paket zu identifizieren, aber zuwenig um es deinstallieren zu können.

            prinzipiell ist das vorgehen so
            - finde alle installierten benutzerteile
            - deinstalliere die, für die es keine policyinstanz gibt
            - alle anderen werden im rahmen der policyinstanzhandlings mit abgearbeitet