如何将100多个Visual Studio安装程序项目(vdproj)转换为Wix安装程序?

oɔɯ*_*ɯǝɹ 5 wix migrate vdproj visual-studio-2010 visual-studio-2012

我们有大约100多个Visual Studio C#/ .net解决方案,其中包含用于部署的Visual Studio安装程序项目(vdproj).这些是在Visual Studio 2010中构建的.

为了升级到Visual Studio 2012,我们需要将这些.vdproj项目迁移到Wix,因为vs2012不再支持这些项目类型.

这些项目大多是简单的项目,它将文件安装到给定的位置.我们在安装过程中使用自定义操作,使.config文件位置特定(用实际值替换标记).

将这些项目转换为Wix的最佳方法(每个项目的工作量最小)是什么?

Rik*_*erg 1

我将在这里发布我的反应。因为更好的格式和我喜欢解释的一些事情。

在您对评论的回复中。答案还包含某人使用 powershell 制作的脚本。您可以做的是创建另一个 powershell,它将循环遍历您的项目,然后执行脚本。但这样你就只有 wxs 文件了,你仍然需要创建 100 多个 wix 项目并将文件添加到该项目中。

您还可以使用 heat.exe 在要安装的项目中创建构建后事件。例如(可能需要对您的项目进行一些调整/更改)

call "C:\Program Files (x86)\WiX Toolset v3.6\bin\heat.exe" project "$(ProjectDir)$(ProjectFileName)" -directoryid INSTALLDIR -pog Content -gg -scom -sreg -sfrag -out "$(SolutionDir)Installed\$(ProjectName).Content.wxs"

然后,您可以将输出文件链接到 WiX 项目,这样当您添加文件或 dll 时,它将再次自动生成,并且您的文件将保持同步。您现在需要做的就是创建某种可在所有 wix 项目中使用的 Product.wxs 模板。

我认为这里的解决方案是使用 PowerShell 和 heat.exe 的组合。您可以使用上述命令为您的项目生成 wxs 文件。但您仍然需要添加 wix 项目的体力劳动。