Ich möchte ein Fragment mit T4 generieren, aber nach dem Hinzufügen einer. Tt-Datei zum Wix-Projekt gibt es keine "Custom Tool" -Option für diese Datei. Und wenn Sie mit der rechten Maustaste auf die .tt-Datei klicken, gibt es keinen Menüeintrag "Custom-Tool ausführen".
Gibt es dafür einen Hack? Ich benutze VS 2010 und das neueste Wix 3.5
Das Wix VS-Projektsystem unterstützt leider keine Generatoren für einzelne Dateien, so dass Sie nicht die Standard-T4-Erfahrung erhalten.
Sie haben ein paar Möglichkeiten. Oleg Sychs T4Toolbox verfügt über Werkzeuge, um Templates auszuführen, die auf andere Projekte abzielen, sodass Sie sie in einem Projekt ausführen und die Ausgabe auf Ihr WiX-Projekt ausrichten können.
Alternativ dazu hat T4 eine einfache Service API STextTemplating. Sie könnten ein kleines VS-Add-In schreiben, das die von Ihnen gewünschte Generation in Ihrem Wix-Projekt verwendet.
Ich habe noch nie T4 benutzt, ganz zu schweigen von WiX, aber ein Google bringt mehrere interessante Hits hervor, darunter der letzte, der fragt, was du fragst, aber niemand kennt die Antwort.
T4 Vorlage zum Generieren von Wix-Skripts zum Generieren von WCF-MSIs in MSBuild
Verwenden von MSBuild und Wix zum Erstellen von MSI Paket ...
[WiX-Benutzer] WiX 3.0-Unterstützung für T4-Vorlagen in Visual Studio 2008] 3
Mit Gareths Vorschlag der T4-Toolbox konnte ich eine T4-Vorlage laden, aber die Datei wurde nicht wie erwartet erzeugt.
Am Ende habe ich mit meinen Vorlagen ein Stub-C # -Klasse-Projekt erstellt und einen Post-Build-Befehl ausgeführt, um die Ausgabe in das WiX-Installationsprogramm zu kopieren. Unten ist ein funktionierendes Beispiel.
WiX + T4 Beispiel
Hier ist ein schnell-und-schmutzig-Skripte, die eine Ordnerstruktur führt und alles enthält, was in ausgeschlossenen Dateien ist. Es ist zumindest ein guter Ausgangspunkt für das Hinzufügen von Dateien zu Ihrem Projekt auf Ordnerbasis.
GetFiles.ttinclude - Hilfsprogramme, um die Verzeichnisstruktur zu verwalten und die Liste der Dateien zu verwalten
Files.tt - Generiere WiX Include
Wenn Sie ein anderes Projekt in derselben Lösung haben (oder erstellen können), das T4-Vorlagen unterstützt, gibt es einen einfachen Weg dazu.
Tags und Links .net c# t4 wix windows-installer