Dienstag , 23 Juli 2019

Web Platform Installer 4.0 – Installationen im Offline Modus

Windows Azure Mobile ServicesFür die Installation von Entwicklertools wird seit einigen Jahren der Microsoft Web Platform Installer immer beliebter.
Auf der einen Seite verständlich, da dieses Tool sehr komfortabel ist und die wichtigsten Tools an einem Ort vereint.
Auf der anderen Seite recht unbrauchbar, wenn ganze Schaaren von Entwicklern gleichzeitig die Pakete über die gleiche Internetleitung ziehen.

Vor kurzem geriet ich mal wieder in die oben genannte Problemstellung:
Ich wollte 15 Laptops – möglichst schnell – für einen Schulung mit der Microsoft HDInsight for Windows Server Developer Preview bestücken.
Da das Installationspaket eine Größe von über 200 MB hat, wollte ich dafür nicht die vorhandene, schwache Internetverbindung nutzen.

Mein erster Gedanke war, die MSI-Pakete aus dem lokalen WebPI Cache auf eine externe Festplatte zu übertragen und diese manuell auf jedem Teilnehmerrechner auszurufen:

Lokaler Cache des Web Platform Installers:

%localappdata%Microsoftweb platform installerinstallers

 

Allerdings meldeten die Installer-Pakete zurück, dass man sie nur über den Web Platform Installer aufrufen könne.

Bei meiner Suche nach einer Lösung stolperte ich über 2 Dinge:

  1. Das WebPI-Kommandozeilentool, dass es bislang als separaten Download gab, wird seit der Version 4.0 bei der Standardinstallation mitgeliefert.
  2. In der aktuellen Version des WebPI-Kommandozeilentools, werden jetzt auch Installationen ohne Internetverbindung unterstützt.

 

Um den Offline Modus nutzen zu können, benötigt man zuerst die Product-IDs der Installationspakete.
Diese bekommt man mit den /List und /ListOption:[ Installed | All | Available | Feeds | Languages] Parametern heraus:

"%ProgramFiles%MicrosoftWeb Platform InstallerWebpiCmd.exe" 
     /List /ListOption:All

 

WebPICmd: Auflisten aller verfügbaren Installationspakete

 

Anschließend lassen sich diese Pakete, inkl. deren Abhängigkeiten, in einen "Offline Cache" herunterladen.
Dazu gibt man am Besten die kommaseparierten Product-IDs im Parameter /Products und das Stammverzeichnis für den Offline Cache im Parameter /Path an.

Am Beispiel der Windows Identity Foundation (WIF) sieht das wie folgt aus:

"%ProgramFiles%MicrosoftWeb Platform InstallerWebpiCmd.exe" 
     /Offline /Products:WIF /Path:C:OfflineCache

 

WebPICmd: Erzeugen eines Offline Caches

 

Da der Offline Cache sich auch von einem USB-Stick, einer externen Festplatte oder einem Netzwerklaufwerk nutzen lässt, kann man anschließend das Verzeichnis auf eines der genannten Medien verschieben und die Installation wie folgt starten:

"%ProgramFiles%MicrosoftWeb Platform InstallerWebpiCmd.exe" 
     /Install /Products:WIF 
     /XML:file:///E:/OfflineCache/feeds/latest/webproductlist.xml

 

WebPICmd: Installation aus dem Offline Cache