4 Replies Latest reply on May 9, 2014 5:41 AM by derniwi

    Installationsparameter nur bei Deinstallation verwenden

    derniwi Master
      Hallo,

      bin gerade auf ein kleines Problem gestoßen:
      Ich habe ein Paket, welches bei der Deinstallation eine Nachricht an einen Benutzer schicken soll. Für die Email-Adresse habe ich einen Installationsparameter im Software-Set angelegt (es gibt noch weitere Installations-Parameter in diesem Set).

      Das Problem ist jetzt, dass während der Installation dieser Wert nicht verwendet wird. Und somit wird er in der Registry nicht im Benutzerzweig der Registry eingetragen. Und Installationsparameter, die in einem MSIInstallProduct-Befehl, welcher computerbezogen markiert ist, werden auch nicht im Benutzerzweig erstellt.

      Bei der Deinstallation möchte ich die Mail aber nur versenden, wenn der AutoInstaller läuft, also frage ich hier einfach ab, ob das Skript nicht unter dem Service-Installer läuft.

      Um das Problem zu umgehen, setze ich jetzt bei der Installation eine Dummy-Variable, in welcher der Installationsparameter gespeichert wird. Witzigerweise sehe ich nach der Installation in der Registry, dass im Paket unter dem Schlüssel "Variables Used" der Installationsparameter eingetragen ist, nicht aber die (nicht weiter verwendete) Dummy-Variable.

      Das alles ist aber irgendwie unschön, oder? Soll ich das mal als Fehler melden?

      Gruß
      Nils

      Update: bei einem Installationsparameter in einem Paket tritt dieser Fehler nicht auf, nur wenn ich einen Parameter verwende, der in einem Software-Set definiert ist.
        • 1. Re: Installationsparameter nur bei Deinstallation verwenden
          _Mel_ Master

          einen Installationsparameter im Software-Set angelegt

          ein feature, das man besser nie eingebaut hätte...

          passiert das zufällig bei der deinstallation des benutzerteils, wenn der maschinenteil schon vorher deinstalliert wurde ?
          • 2. Re: Installationsparameter nur bei Deinstallation verwenden
            derniwi Master
            Naja, der Voteil ist, dass ich einen Parameter in mehreren Paketen verwenden kann, was ich auch so nutze. Die Software besteht aus mehreren einzelnen MSI-Dateien, die ich über einzelne Pakete verteile, so können dann im Bedarfsfall auch die einzelnen Komponenten repariert / neu installier / ausgetauscht werden.

            Die Alternative wäre über SetX.exe die Parameter in die Regsitry zu schreiben und von dort zu verwenden. Finde ich aber etwas unschön.

            Installationsparameter an die einzelnen Pakete zu hängen macht es fehleranfälliger, da ich dann den gleichen Wert x-mal eintragen (lassen) muss.

            Hmmm.. ich habe noch nicht gepüft, was passiert, wenn zuerst der AutoInstaller läuft. Aber wenn während der Installation über den AI nicht auf den Parameter zugegriffen wird, dann steht die Variable auch nicht in der Registry. Und das eScript scheint nicht zu erkennen, dass es sich um einen Inst-Parameter des Sets handelt und findet die Varaible dann so auch nicht...
            • 3. Re: Installationsparameter nur bei Deinstallation verwenden
              _Mel_ Master
              also wenn der maschinenteil schon deinstalliert ist, dann gibt's die policy nicht mehr und dann weiß der isntaller bei der deinstallation des userteils nicht mehr, daß das paket überhaupt in einem set installiert wurde.

              wenn du das bei vielen paketen hast, wäre evtl auch eine ods variable eine möglichkeit - oder sollen verschiedene pakete an verschiedene emailadressen reporten ?
              • 4. Re: Installationsparameter nur bei Deinstallation verwenden
                derniwi Master
                Naja, es funktioniert ja, wenn ich bei der Installation im Paket einfach ein Set verwende und den Parameter einmal verwende...

                Ich habe das Problem aktuell bei einem Set und dort bei einem Paket. Aber ich weiß halt noch nicht, was die Zukunft bringt. :-)

                Die Frage ist, ob ich des wegen einen Bugreport eröffne.

                Alternativ: welchen Zweck hätten denn Installationsparameter bei einem Software-Set? Wenn man damit die Parameterwerte für alle Pakete vorgibt und nur an zentraler Stelle einbinden möchte, dann sind dieses doch das Mittel der Wahl, oder?

                OSD-Variable sind zu global für diese Aufgabe, es geht hier um eine Anwendung, bei der auf einem Server auch benutzerabhängige wie auch rechneabhängige Konfigurationen abgelegt werden. Ich würde den Key-User der Anwendung bei einer Deinstallation benachrichtigen, damit er evtl. die Verzeichnisse durchschaut und ggfs. aufräumen kann.