Vorlagenverteilung (Template Distribution)
Die Dokumentfunktion Template Distribution verteilt Dateien, Schriftarten und Konfigurationsdateien automatisch an Endpunkte (Client-Rechner). Sie wird primär für Externe Verteilungsvorlagen und Outlook-Design-Vorlagen eingesetzt.
Diese Dokumentfunktion steht für Externe Verteilungsvorlagen und Outlook-Design-Vorlagen zur Verfügung.
Grundaufbau
Das Wurzelelement ist <Configuration>. Die Elemente werden in dieser Reihenfolge erwartet (alle optional): Path, LockFile, Shortcut, UpdateMode, Files, Registry, Cleanup.
<Configuration>
<Path>%APPDATA%\MyApp\</Path>
<UpdateMode>Merge</UpdateMode>
<Files>
<File Source="config.xml" Target="settings\config.xml" />
<File Source="logo.png" Target="assets\logo.png" />
</Files>
</Configuration>
Die Konfiguration ist «scriptable»: Über <If Condition="…">-Blöcke lassen sich Elemente abhängig von Systemvariablen (z.B. installierte Office-Version oder -Bitness) ein- oder ausschliessen.
<Path>
Zielpfad der Verteilung. Umgebungsvariablen (z.B. %APPDATA%, %USERPROFILE%) werden aufgelöst. Bei UpdateMode="ViaFiles" kann der Pfad leer bleiben.
<LockFile>
Datei, deren Sperre vor der Verteilung geprüft wird. Lässt sich die Datei nicht exklusiv öffnen (z.B. weil die zugehörige Office-Anwendung sie geöffnet hat), wird die Verteilung übersprungen.
<LockFile>Beispiel.ppam</LockFile>
<Shortcut>
Optionales Verzeichnis, in dem eine Windows-Verknüpfung auf die <LockFile> erstellt wird (z.B. für Excel-Add-Ins notwendig).
<Shortcut>%APPDATA%\Microsoft\Excel\XLSTART\</Shortcut>
<UpdateMode>
Steuert, wie die Verteilung durchgeführt wird:
| Wert | Beschreibung |
|---|---|
Merge | Vorhandene Dateien werden ergänzt/aktualisiert, nicht gelöscht (Standard). |
Replace | Der Zielpfad wird auf den Paketinhalt abgeglichen; überzählige Dateien werden entfernt. |
Remove | Entfernt das Zielverzeichnis (<Path>). |
ViaFiles | Verteilt einzelne Dateien gemäss <Files> an individuelle Ziele. |
InstallFont | Installiert die enthaltenen Schriftarten systemweit. |
RemoveFont | Deinstalliert die enthaltenen Schriftarten. |
<Files>
Liste der zu verteilenden Dateien:
<Files>
<File Source="vorlage.dotx" Target="Vorlagen\vorlage.dotx" />
<File Target="%APPDATA%\MyApp\readme.txt">Inhalt der erzeugten Textdatei</File>
</Files>
| Attribut | Beschreibung |
|---|---|
Source | Dateiname oder Muster im Vorlagenpaket (z.B. vorlage.dotx oder *.dotx). Optional. |
Target | Zielpfad/Dateiname inkl. Umgebungsvariablen. Erforderlich. |
Setzt man den Inhalt eines <File>-Elements (statt Source), wird am Ziel eine Textdatei mit diesem Inhalt erstellt — z.B. <File Target="…\theme.config">DemoStyle</File>.
Registrierungs-Aktionen (<Registry>)
Erstellt oder aktualisiert Registry-Schlüssel und -Werte. Die Aktionen laufen unter den Rechten des aktuellen Prozesses und ausschliesslich auf HKCU.
<Registry>
<RegistryKey Root="HKCU" View="Default" Key="Software\Microsoft\Office\16.0\PowerPoint\AddIns\MyAddIn" Action="CreateAndUpdate">
<RegistryValue Type="String" Name="Path" Expand="true">%APPDATA%\MyAddIn\MyAddIn.ppam</RegistryValue>
<RegistryValue Type="DWord" Name="AutoLoad">00000001</RegistryValue>
</RegistryKey>
</Registry>
<RegistryKey>:
| Attribut | Beschreibung |
|---|---|
Key | Registry-Schlüsselpfad (z.B. Software\Microsoft\Office\16.0\…). Erforderlich. |
View | Registry-Ansicht: Default, Registry32, Registry64. |
Root | Registry-Wurzel — nur HKCU wird unterstützt. |
Action | CreateAndUpdate (Standard), Create, Update, Remove. |
<RegistryValue> (Kindelement von <RegistryKey>; der Wert steht im Elementinhalt):
| Attribut | Beschreibung |
|---|---|
Name | Name des Registry-Werts. Erforderlich. |
Type | Werttyp: String, ExpandString, Binary, DWord, MultiString, QWord (entspricht REG_SZ, REG_EXPAND_SZ, REG_BINARY, REG_DWORD, REG_MULTI_SZ, REG_QWORD). Erforderlich. |
Expand | Bei true werden Umgebungsvariablen im Wert aufgelöst. |
Alternativ lässt sich eine .reg-Datei importieren — optional in einen bestimmten Schlüssel umgeleitet:
<Registry>
<RegistryFile ImportInKey="HKEY_CURRENT_USER\Software\MyApp">deploy.reg</RegistryFile>
</Registry>
Bereinigung (<Cleanup>)
Definiert Aktionen, die beim Deinstallieren bzw. — je nach Mode — vor jeder Verteilung ausgeführt werden:
<Cleanup Mode="OnCleanup">
<File Path="%APPDATA%\MyApp" />
<RegistryValue Root="HKCU" View="Default" Key="Software\Microsoft\Office\16.0\PowerPoint\AddIns\MyAddIn" Name="Path" />
<RegistryKey Root="HKCU" View="Default" Key="Software\Microsoft\Office\16.0\PowerPoint\AddIns\MyAddIn" />
</Cleanup>
Mode-Wert | Beschreibung |
|---|---|
OnCleanup | Nur bei Deinstallation (Standard). |
OnCleanupAndDistribute | Bei Deinstallation und vor jeder neuen Verteilung. |
| Element | Attribute |
|---|---|
<File> | Path (Datei oder Verzeichnis, das gelöscht wird). |
<RegistryKey> | Key, View — löscht den Schlüssel. |
<RegistryValue> | Key, View, Name — löscht den einzelnen Wert. |
Schriftarten installieren
<Configuration>
<UpdateMode>InstallFont</UpdateMode>
<Files>
<File Source="CorporateFont-Regular.ttf" Target="" />
<File Source="CorporateFont-Bold.ttf" Target="" />
</Files>
</Configuration>
Mit <UpdateMode>InstallFont</UpdateMode> werden die aufgeführten Schriftarten systemweit auf dem Client installiert.
Outlook-Design-Vorlagen verteilen
Bei Outlook-Design-Vorlagen wird der Paketinhalt als ZIP behandelt — dazu am Wurzelelement SourceTemplateDocumentType="Zip" setzen:
<Configuration SourceTemplateDocumentType="Zip">
<UpdateMode>ViaFiles</UpdateMode>
<Files>
<File Source="*.dotx" Target="%APPDATA%\Microsoft\QuickStyles\DemoStyle.dotx" />
<File Target="%APPDATA%\Microsoft\QuickStyles\Theme.config">DemoStyle</File>
</Files>
<Registry>
<RegistryFile>mailsettings.reg</RegistryFile>
</Registry>
</Configuration>