In einem älteren Blogartikel habe ich beschrieben, dass mit DSM 7 wieder das alte – aus NetInstall 5.x bekannte – Verhalten eingeführt wurde, dass letztlich die lokale Registry des gemanageten Clients entscheidend ist, ob Pakete installiert oder nicht installiert werden und der Status der zugehörigen Policy-Instanz nicht mehr die entscheidende Rolle spielt, wie das noch unter Enteo v6 der Fall war.
In einem konkreten Kundenszenario wurde nun aber kürzlich ein Verhalten beobachtet, dass Pakete doch nicht neu installiert wurden, wenn zur Reinstallation eines Clients ein Image zurückgespielt wurde und Pakete im Image nicht installiert waren, die vorher über DSM 7 verteilt worden waren und daher eine grüne Policy-Instanz besaßen.
Dies scheint dem beschriebenen Verhalten zu widersprechen. Und in der Tat wurde in diesem Zusammenhang eine Information bekannt, die so vorher nicht dokumentiert war...
Obwohl also die Ausführung der Maschinenteile bestimmter Pakete in der Registry des Images unter HKEY_LOCAL_MACHINE\Software\NetSupport\NetInstall\InstalledApps nicht protokolliert war (und diese also hätten neu ausgeführt werden müssen), geschah dies nicht.
Es stellte sich heraus, dass es sich dabei durchaus um ein beabsichtigtes bzw. korrektes Verhalten des DSM 7 Clients handelte. In dem Image war nämlich der Registry-Value FixedMachinePartLogging im Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\NetSupport\NetInstall (bzw. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\NetSupport\NetInstall auf 64-Bit Betriebssystemen) nicht vorhanden. Damit sich der Client jedoch wie erwartet verhält, muss dieser DWord-Value existieren und den Wert 1 haben.
Normalerweise wird der Wert nach dem ersten Installer-Lauf des DSM-Clients selbständig angelegt. Dies geschieht aber offensichtlich nicht, wenn es keine ausstehenden Policy-Instanzen gibt und daher keinerlei Pakete ausgeführt werden müssen. Da dies aber im betrachteten Szenario der Fall war, wurden keinerlei Pakete nachgezogen und der Client verhielt sich wie unter Enteo v6.
In einem Imaging-Szenario ist also darauf zu achten, dass dieser Value in der Registry des Clients, von dem das Master-Image gezogen wird, vorhanden ist, da es sonst zu fehlerhaftem Verhalten nach dem Ausbringen des Images kommen kann.