是否可以在Visual Studio解决方案中包含程序项目和Wix项目?

时间:2015-09-04 07:22:09

标签: visual-studio mono wix

例如,我使用Visual Studio在解决方案中创建单声道游戏项目,然后添加另一个wix项目

当我点击“构建解决方案”时,正在构建单声道游戏项目,而wix项目之后会直接构建安装程序。

通过这种方式,我无需在任何地方分离我的项目,因为我只想在One-Click安装程序中获得更多其他选项。

如果我可以使用Wix,我可以自定义安装程序,但是如何?

搜索了一段时间后,我发现了这个

http://wixtoolset.org/documentation/manual/v3/votive/votive_project_references.html

但是,我想将两个项目放在同一个解决方案文件夹中,而不是两个单独的解决方案文件夹。这样,如果我改变了路径,链接就会崩溃吗?

2 个答案:

答案 0 :(得分:1)

是的,你可以。只需在WIX项目中添加对项目的引用即可。

请注意,对于项目引用,您可以在wxs文件中使用变量。例如,如果您的游戏项目是DavidWong.MyGame

<File Id="MyGame.exe" 
      Name="$(var.DavidWong.MyGame.TargetFileName)"
      Source="$(var.DavidWong.MyGame.TargetPath)" KeyPath="yes" />

有关详细信息,请参阅the documentation

答案 1 :(得分:1)

是的,它可以完成(项目参考和$(var.ProjectName.TargetDir)等等)但根据我的经验,有几个原因不能:

1)当新版本的Visual Studio出现时,如果尚未发布新版本的WiX以支持该版本的Visual Studio,则可能会遇到困难。我已经多次看过这个,如果你想支持Visual Studio 2015,你现在必须运行WiX v3.10的beta版本。

2)所有开发人员现在必须安装WiX或收到无法加载某些项目的错误消息。

3)一些开发人员会抱怨他们不想在.NET解决方案中使用“设置”代码。我认为这是一个很薄的抱怨但我得到了它。

我喜欢做的是拥有应用程序解决方案和安装程序解决方案。我使用postbuild copy命令和MSBuild发布配置文件在“deploy”文件夹中暂存内容,该文件夹为已部署的系统建模,然后在我的wix代码中使用该引用。