Empirum Setup.inf – SoftwareDepotDistributionFlags

Ich hatte die Tage die Aufgabe ein Paket so zu modifizieren, dass es sich bei der Reinstallation bzw. beim einmaligen Erzwingen anders verhält als im Standard. Dabei fiel mir gleich die Variable SoftwareDepotDistributionFlags ein, die ich jedoch bis dato nicht genutzt hatte. In der Matrix42 Online Hilfe fand ich Hinweise zur Nutzung und Auswertung der entsprechenden SoftwareDepotDistributionFlags Variable. So „gestärkt“ machte ich mich an das Werk. Doch nach kurzer Zeit stellte sich etwas Ernüchterung ein, da es nicht sofort so funktioniert hat wie ich es mir vorgestellt hatte.

Dann habe ich angefangen mir den Wert der SoftwareDepotDistributionFlags Variable durch Logging zu erarbeiten …

Nach dem Logging, der anschließenden Bestätigung durch den Support (Danke an Hr. Zinn) und weitere erfahrene Empirum Nutzer habe ich die nachfolgende Tabelle erstellt, die Euch bei der Nutzung hoffentlich schneller zum Ziel bringt als mich ursprünglich. In der Nachbetrachtung hat mich am meisten zum Stolpern gebracht, dass in der Hilfe vom bitweisen Vergleich mit Dezimal Werten gesprochen wird und dann die aufgeführte Tabelle Hex Werte enthält!

Anbei die von mir zusammengestellte Tabelle mit den Verteilbefehlen aus der DDC, den dazugehörigen Dezimal Werten für den bitweisen Vergleich sowie dem Verteilbefehl aus der deutschen Oberfläche.

Verteilbefehl DDCSoftwareDistributionFlags
(Dezimalwert)
Verteilbefehl
aus der deutschen Oberfläche
INSTALL1Installieren
UPDATE2Erneuern
FORCE4Immer Erzwingen
UNINSTALL8Deinstallieren
REVOKE16Ablehnen möglich
FORCEONCEMACHINE32Maschinenteil erzwingen
FORCEONCECLIENT64Benutzerteil erzwingen
AFTERFORCE128Erzwingen (Nach Ablauf des Zeitplaners)
AFTERREVERSE256Umkehren (Nach Ablauf des Zeitplaners)
HIDE512Nicht anzeigen
REINSTALL1024Reinstallation mit vorheriger Deinstallation
OFFLINE2048Lokal cachen
IGNOREMTF8192Installationszeitraum ignorieren (ist bei einem Push immer gesetzt!)

Arbeiten mit den Werten in der Setup.inf

Setup.inf Beispiele:

;---Abfragen eines gesamten Verteilbefehls (Reinstallation per Pull/Push ohne vorherige Deinstallation)
 If BitXor (%SoftwareDepotDistributionFlags%, 99) == "0" | BitXor (%SoftwareDepotDistributionFlags%, 8291) == "0" Then "ReInstall" Else "EverythingElse" EndIf

;---Abfragen einer einzelnen Verteiloption
 If BitAnd (%SoftwareDepotDistributionFlags%, 32) != "0" then "ForceOnceMachine_is_set" else "ForceOnceMachine_is_not_set" endif

Schreibe einen Kommentar