0

我使用 WiX 构建了一个安装程序,该安装程序由多个 .exe 文件组成,这些文件是其他 .Net 项目(VS 2008)的“发布”版本。每次我更新其中一个项目时,我都会构建该项目并将 Release 构建复制到安装程序中,然后构建并发布安装程序。

我发现不断检查安装程序拥有的 exe 是否是最新版本是一项非常乏味的工作。有没有一种方法可以使这个构建过程自动化,这样一旦我构建了安装程序,它就会生成相关项目的最新版本,并将 .exe 文件放在安装程序项目中。

我是 VS 和 WiX 的新手,请指教。提前致谢。

4

2 回答 2

1

Arun 的解决方案是个好主意,我推荐它。

我们还维护了许多程序集,我们使用符号链接来尽量减少构建和复制操作的数量,而不是复制它们。您可以研究 mklink (http://en.wikipedia.org/wiki/NTFS_symbolic_link) 了解详情。

我们像这样使用它,但我们将其作为环境设置的一部分,而不是构建脚本的一部分。

  • mklink /project1/bin/project1.dll /project2/bin/project1.dll

这为我们确保了 project2 对 project1 的引用始终是最新的,无论何时构建 project1,无需复制文件。在我们的例子中,project2 和 project1 不是同一个解决方案的一部分,它们之间没有直接的引用(我们做了很多插件类型的反射/程序集加载)。

希望这可以帮助。

于 2012-05-07T15:25:20.657 回答
1

您应该能够创建一个解决方案,其中包含:

- all projects which build the EXEs
- the installer project which builds your installer

到达那里后,您应该能够右键单击安装程序项目并将依赖项设置为创建 EXE 的所有项目。您应该能够使用安装程序中捆绑的正确 EXE 构建您的解决方案。

于 2012-05-07T00:51:24.097 回答