4 Replies Latest reply on Dec 17, 2012 7:39 AM by derniwi

    IsSWPackageRevInstalled auf Software-Set?

    derniwi Master
      Hallo,

      ich möchte prüfen, ob ein bestimmtes Software-Set installiert ist (kein darin eingetragenes Paket). Mit der clientseitigen Systemvoraussetzung "IsSWPackageRevInstalled" klappt das aber leider nur auf Paketbasis. Die (eingetlich nicht mehr zu verwendende, aber immer noch angebotene) Alternative IsInstalled funktioniert auch nicht.

      Wie macht ihr das? Meine Idee wäre jetzt für das Software-Set ein Dummypaket zu erstellen, welches nichts macht und fest in diesem Set verbleibt.

      Gruß
      Nils
        • 1. Re: IsSWPackageRevInstalled auf Software-Set?
          info@offlimits-it.com Expert
          Ich benutze keine Softwaresets sondern löse das über Policyzielerweiterungen.
          • 2. Re: IsSWPackageRevInstalled auf Software-Set?
            derniwi Master
            Hallo Nordin,

            ja, bei fix vergebenen Paketen ist das sicherlich auch gut. Da kann man eine Gruppe verwenden, dieser das Paket zuweisen usw. Aber über den Shop klappt das ja so nicht, da die Policy-Instanzen dynamisch angelegt werden.

            Konkreter Fall:
            ich möchte das JRE und das JDK über den Shop anbieten (braucht nicht jeder, und die Leute sollen auswählen können, wer was sie brauchen). Aber wenn das JDK installiert wird, kommt damit auch eine JRE. Somit sollte die JRE dann nicht mehr angeboten werden. Und dies möchte ich so umsetzen:
            - Paket JRE: not IsSWPackageRevInstalled(JDK, Rev. egal)
            - Paket JDK: not IsSWPackageRevInstalled(JRE, Rev. egal)
            Damit ein Upgrade besser läuft, revisioniere ich die JRE und JDK selbst nicht, sondern lege neue Pakete an und ändere das Software-Set ab. Dadurch wird die alte Version deinstalliert und die neue installiert, da ja die veralteten Pakete aus dem Software-Set entfernt werden.

            Diese Upgrades funktionieren relativ gut und auch sauber. Aber wenn ich jetzt "not IsSWPackageRevInstalled(JDK)" als Voraussetzung verwenden möchte, klappt das nicht, wenn ich ein Software-Set als Ziel angebe, obwohl das angeboten wird. Meine Idee wäre hier gewesen, wenn der Befehl nicht so funktioniert, dass ich hier zwei Dummy-Pakete anlege, jeweils eines jedem Set zuordne und prüfe, ob dieses Installiert ist.

            Gruß
            Nils
            • 3. Re: IsSWPackageRevInstalled auf Software-Set?
              LjokajK Expert
              Hi,

              wieso baust du in deinem Script nicht einfach ne If Exist-Bedingung ein und prüfst auf ne bestimmte EXE-Datei der JRE?
              • 4. Re: IsSWPackageRevInstalled auf Software-Set?
                derniwi Master
                Das Skript wird ja erst bei der Verteilung ausgeführt. Mit der Systemvoraussetzung könnte ich aber die Software im Shop ausblenden, wenn das andere Paket schon installiert ist.

                Dies wäre hier prinizipiell auch über Exist() möglich, allerdings legt das JDK standardmäßig ein Verzeichnis mit einer Versionsnummer an, was dann beim JDK heißen würde, dass ich da wieder nicht vernünftig prüfen kann. Mit dem Verbiegen der Pfade habe ich mit Java auch schon schlechtere Erfahrungen gemacht...

                Und es gibt vielleicht noch andere Programme, die ich über ein Software-Set verteilen möchte / muss, und ich hierbei dann auch eine solche Vorgehensweise benötige...