Wix& T4:没有“自定义工具”选项

时间:2010-09-01 16:34:07

标签: c# .net wix windows-installer t4

我想使用T4生成片段,但在将.tt文件添加到Wix项目后,此文件没有“自定义工具”选项。右键单击.tt文件时没有菜单项“运行自定义工具”。

这有什么问题吗?我正在使用VS 2010和最新的Wix 3.5

4 个答案:

答案 0 :(得分:3)

遗憾的是,Wix VS项目系统不支持单个文件生成器,因此您无法获得默认的T4体验。

你有几个选择。 Oleg Sych的T4Toolbox具有运行针对其他项目的模板的工具,因此您可以在一个项目中运行它们并将输出定位到您的WiX项目。

或者,T4有一个简单的服务API STextTemplating。您可以编写一个小的VS加载项,在Wix项目中执行您想要的任何生成。

答案 1 :(得分:1)

我从来没有使用过T4,更不用说使用WiX了,但是它的谷歌出现了几个有趣的点击,包括最后一个询问你在问什么,但没有人知道答案。

T4 template to generate Wix scripts to generate WCF MSIs in MSBuild

How to use MSBuild and Wix to create msi package...

[WiX用户] WiX 3.0支持Visual Studio 2008中的T4模板] 3

答案 2 :(得分:1)

使用Gareth对T4工具箱的建议我能够加载T4模板,但它没有按预期生成文件。

我最终做的是使用我的模板创建一个存根C#类项目,并运行一个post-build命令将输出复制到WiX安装程序。下面是一个工作示例。

WiX + T4示例

这是一个快速而又脏的脚本,它可以遍历文件夹结构,并且包含排除文件中的所有内容。这至少是在逐个文件夹的基础上向项目添加文件的良好起点。

GetFiles.ttinclude - 用于遍历目录结构和维护文件列表的实用程序方法

Files.tt - 生成WiX包含

答案 3 :(得分:1)

如果您在支持T4模板的同一解决方案中拥有(或可以创建)另一个项目,则有一种简单的方法。

  1. 在该项目的某处创建T4模板
  2. 在WIX项目中,添加输出文件as a link(右键单击项目,添加现有项目,添加为链接)