InfoPath: Packen und Entpacken einer XSN-Datei
avatar

InfoPath speichert Formularvorlagen standardmäßig mit der Dateierweiterung XSN ab (z.B. Formularvorlage.xsn). Technisch gesehen handelt es sich bei einer XSN-Datei um eine CAB-Datei (ein ebenfalls von Microsoft stammendes Dateiformat zum Speichern und Komprimieren von mehreren Dateien in einer einzigen Datei).
In einer neu erstellten Formularvorlage sind z.B. folgende Dateien in einer XSN-Datei zusammengefasst:

FormularvorlageXSN


Um die Quelldateien zu extrahieren, hat man mehrere Möglichkeiten
.

  • Direkt aus InfoPath über die Schaltfläche “Quelldateien exportieren”

    (Entwurf) MeineFormularvorlage - Microsoft InfoPath_2012-12-11_17-58-58

  • Umbenennen der XSN-Datei in .cab (z.B. Formularvorlage.xsn –> Formularvorlage.cab) und anschließendes Extrahieren mit Windows-Bordmitteln
  • Direktes Extrahieren mit einem Tool wie z.B. 7-Zip

Mit einem Rechtsklick auf die Datei manifest.xsf und dem Befehl Entwerfen öffnet sich die Formularvorlage im InfoPath Designer und lässt sich weiter bearbeiten. Die Dateien lassen sich aber auch mit einem einfachen Texteditor bearbeiten.

Um aus den extrahierten Quelldateien wieder eine XSN-Datei zu erstellen, hat man zwei Möglichkeiten.

  • Man öffnet die Formularvorlage im InfoPath Designer und speichert die Datei über Speichern unter in einer einzigen XSN-Datei

    (Entwurf) MeineFormularvorlage - Microsoft InfoPath_2012-12-11_18-30-15

  • Man benutzt das Kommandozeilentool makecab.exe von Microsoft. Dies befindet sich im Verzeichnis C:\Windows\System32. Man benötigt zusätzlich eine Textdatei, in der man festlegt, welche Dateien zu einem CAB-Archiv hinzugefügt werden sollen. Für obiges Beispiel enthielte die Textdatei folgenden Inhalt:
    .OPTION EXPLICIT
    
    .Set CabinetNameTemplate=Formularvorlage.xsn
    .set DiskDirectoryTemplate="c:\temp"
    .Set Cabinet=on
    .Set Compress=on
    
    "C:\temp\manifest.xsf"
    "C:\temp\template.xml"
    "C:\temp\myschema.xsd"
    "C:\temp\sampledata.xml"
    "C:\temp\view1.xsl"

    Den Inhalt würde man z.B. als makeXSN.ddf speichern und mit dem Befehl makecab /f makeXSN.ddf wird dann die Datei Formularvorlage.xsn erzeugt.

Ein Gedanke zu “InfoPath: Packen und Entpacken einer XSN-Datei
avatar

  1. Pingback: InfoPath: Packen und Entpacken einer XSN-Datei - SharePoint Blogs in German - Bamboo Nation

Schreibe einen Kommentar