Die Verwendung von msiexec.exe ist vielen geläufig.
msiexec aus der Windows Run-Zeile auszuführen benötigt lediglich den besagten Aufruf mit den entsprechenden Parametern. Dabei ist es egal in welchem Ordner wir uns gerade befinden, denn der Pfad zur exe wird von Windows automatisch aufgelöst, da sich die exe im Systemordner „System32“ befindet.
In DSM 7 gibt es natürlich die Befehle MSIInstallProduct und MSIUninstallProduct.
Möchte man jedoch trotzdem die msiexec.exe mit einem Execute ausführen, benötigt es ein paar mehr Buchstaben als in Windows. Kopieren wir einfach nur den Aufruf aus Windows heraus in Form von
1msiexec.exe /i "Pfad\zum\produkt.msi" /passive
und kopieren dies in unseren Execute-Befehl, schlägt die Installation (mit dem Parameter /x auch die Deinstallation) fehl. Denn in DSM muss zusätzlich noch der Pfad zur exe mit angeben werden, da dieser nicht automatisch hinzugefügt wird.
Die exe von msiexec befindet sich, wie schon erwähnt, im „System32“ Ordner unter C:Windows. Für diesen Pfad hat DSM jedoch die Variable „%WinSysDir%“, die natürlich verwendet werden kann.
So solle in unserem Execute also folgendes stehen
1%WinSysDir%msiexec.exe /i "Pfad\zum\produkt.msi" /passive
Nun funktioniert auch die Ausführung von msiexec aus DSM heraus, da der „absolute Pfad“ (in Form einer NetInstall Variable) zur exe mit angegeben wurde.
Genauso verhält es sich mit allen anderen Programmen, die sich in System32 befinden und in Windows ohne Pfadangabe ausgeführt werden können, wie z.B. dem Programm „slmgr.vbs“ zum Austauschen des Productkeys und Aktivieren von Windows.