Ich habe mit einer bestimmten .msi ( AppleApplicationSupport.msi
) gearbeitet. Ich habe es auf zwei verschiedene Arten installiert, was ich für gleichwertig hielt. Die Ergebnisse unterscheiden sich jedoch wie folgt.
PSEXEC -i -s cmd
Die Installation über eine psexec -i -s cmd
Eingabeaufforderung und das Ausführen msiexec /i AppleApplicationSupport.msi
führt zu dem gewünschten Ergebnis:
- "Apple Application Support (32-Bit)" wird unter "Software" angezeigt.
- "Apple Application Support (32-Bit)" kann deinstalliert werden
Vom SCCM-Client installierter MSI-Bereitstellungstyp
Das Erstellen und Installieren eines MSI-Bereitstellungstyps mit dem SCCM-Client führt zu folgenden Ergebnissen:
- In "Software" wird nichts angezeigt.
- SCCM erkennt nicht, dass es installiert wurde
- "Apple Application Support (32-bit)" app gefunden , lassen sich mit
gwmi -Class Win32_Product
jedoch, läuft$app.Uninstall()
es nicht deinstallieren.
Was ist der Unterschied?
Ich dachte, dass ein für ein System installierter MSI-Bereitstellungstyp dem Ausführen msiexec
über eine psexec -i -s cmd
Befehlszeile entspricht. Offensichtlich sind sie nicht gleich.
Was genau macht der SCCM-Client, wenn er einen MSI Technology-Bereitstellungstyp für ein System installiert? Kann ich diesen Vorgang ohne Beteiligung von SCCM replizieren?
Entspricht die Ausführung des Installationsprogramms eines Script Installer-Bereitstellungstyps durch den SCCM-Client wirklich einem Aufruf von
msiexec
frompsexec -i -s cmd
? Mit anderen Worten, sollte ich für Bereitstellungstypenmsiexec
des Skriptinstallationsprogramms eine Parität zwischen der Ausführung durch den SCCM-Client und dermsiexec
Ausführung von erwartenpsexec -i -s cmd
?
Hinzugefügt nach der Antwort von kce:
- Wie schafft es SCCM, die MSI zu installieren, ohne dass sie unter "Software" angezeigt wird?
gwmi -Class Win32_Product
und (2) nachfolgenden Versuchen, dieselbe MSI (un) zu installieren, zu einer Reihe von "bereits installierten" Fehlern führt.Antworten:
Soweit mir bekannt ist, führt der SCCM-Client die im Bereitstellungstyp angegebene Installationszeichenfolge aus, führt sie jedoch im Kontext von NT AUTHORITY \ SYSTEM aus. Sie können die Installation approximieren, aber nicht duplizieren, indem Sie dieselbe Installationszeichenfolge von einem Konto ausführen, das Mitglied von BUILTIN \ Administrators ist.
MSIEXEC
kann entweder als 32-Bit- oder als 64-Bit-Prozess ausgeführt werden, je nachdem, ob Sie das Kontrollkästchen "Installations- und Deinstallationsprogramm als 32-Bit-Prozess auf 64-Bit-Clients ausführen" aktivieren oder nicht.Hmmm. Gute Frage. Der Client sollte nur die Installationszeichenfolge ausführen, aber es wäre für mich nicht sonderlich überraschend, wenn er eine tiefere, dunklere Magie ausführen würde. Das einzige, woran ich in Ihrer Situation denken kann, das den Unterschied verursachen könnte, ist die Bitterkeit des Prozesses, unter dem Sie das Installationsprogramm ausführen. Ich denke, der SCCM-Client verwendet fast immer 64-Bit, aber cmd.exe ist 32-Bit, oder?
In meiner Antwort finden Sie weitere allgemeine Hinweise zum Umgang mit Problemen bei der Softwareinstallation.
Viel Glück.
quelle
Zusätzlich zu dieser Antwort von @kce auf Kunstwerke sind die einzigen mageren, simplen Dinge, die ich hinzufügen muss, folgende
Im Allgemeinen vermeide ich "Anwendungen", es sei denn, ich bin gezwungen, mich mit ihnen zu befassen. Dies ist normalerweise der Fall, wenn ich eine App-V-Bereitstellung erstelle. Ansonsten halte ich mich an Pakete, sie sind weniger Kopfschmerzen, wie Sie gesehen haben oder sehen werden.
In SCCM habe ich ein Paket für meine MSI-Dateien erstellt, das ich für jedes andere Installationsprogramm verwenden würde. Wie kce sagte, wird es unter dem Systemkonto installiert. Wenn ich jedoch ein Paket im Vergleich zum Standard-MSI-Handler erstelle, habe ich eine genauere Kontrolle über die installierte Installationszeichenfolge, z. B. im
msiexec /i "my.msi" /qb /v
Vergleich zum Standard. Meine Anwendungen wurden im Wesentlichen immer in Hinzufügen / Entfernen angezeigt, wo sie angezeigt worden wären, wenn ich sie manuell installiert hätte. Theoretisch sollte der Bereitstellungstyp der SCCM-Anwendung für .msi fantastisch funktionieren, aber in der Praxis kann die Verwendung von etwas anderem zu besseren Ergebnissen führen. Da Anwendungen für diese Version von SCCM neu sind, müssen wahrscheinlich einige Probleme behoben werden.Bonus
Wenn Sie wirklich herausfinden möchten, ob dies mit dem Installationskonto zusammenhängt, verwenden Sie den Schalter psexec, um den Befehl unter dem Systemkonto auszuführen.
quelle