我正在学习 WIX,这要感谢 MS 从最新版本的 Visual Studio 中删除了这么好的工具(vdproj)。
我知道我可以使用该标签添加我的文件(和 dll)以在 WIX 中分发。没关系。但是在 vdproj 中添加所有文件非常容易。我只需要在文件视图中右键单击,然后选择“添加项目输出”。这足以添加我的应用程序所需的十几个文件。在 Visual Studio 2012 中,并使用 WIX 3.7,我必须使用哪些选项来自动列出我的应用程序所需的所有 dll?
我正在学习 WIX,这要感谢 MS 从最新版本的 Visual Studio 中删除了这么好的工具(vdproj)。
我知道我可以使用该标签添加我的文件(和 dll)以在 WIX 中分发。没关系。但是在 vdproj 中添加所有文件非常容易。我只需要在文件视图中右键单击,然后选择“添加项目输出”。这足以添加我的应用程序所需的十几个文件。在 Visual Studio 2012 中,并使用 WIX 3.7,我必须使用哪些选项来自动列出我的应用程序所需的所有 dll?
没有可以编写的自动方法不需要您删除某些项目并将某些项目重定向到其他文件夹。在简单的情况下,无论如何您都不需要自动方法。
在您的 WiX 设置项目中,添加对要包含其输出的每个项目的引用。在参考的属性中,根据需要将 Harvest 设置为 True 和 Project Output Groups。
因为项目收获在某些极端情况下不起作用,所以默认情况下它是禁用的。您必须在项目文件中启用它。(请参阅参考资料。)
构建,您将为收获的项目生成 ComponentGroups。脚本文件位于 obj 文件夹中(因为它不是您要保留在源代码管理中的文件)。
例如,对于 project ConsoleApplication1
,将ConsoleApplication1.Binaries
ComponentGroupRef 添加到 Feature。默认情况下,所有此类组件都放置在 INSTALLFOLDER 中。如果您想在其他地方使用它们,您可以更改 ItemGroup 元数据或影响 HavestProjects 目标的属性之一。
除非您有许多经常更改的项目引用,否则无需自动执行此操作。
参考:WiX.chm