Visual Studio Installer项目基于构建配置的自定义操作

时间:2018-03-22 14:12:59

标签: visual-studio-2017 custom-action visual-studio-setup-proje buildconfiguration vdproj

安装程序项目是否可以根据项目构建配置(例如,调试,发布等)有条件地运行自定义操作?

还要根据构建配置包含/排除文件?

我可以在Visual Studio 2017中手动编辑.vdproj文件吗?

1 个答案:

答案 0 :(得分:2)

一旦定义了项目,我们假设自定义操作是一个.NET安装程序项目(它不是强制性的,但在我的示例中就是这样)。

只需转到自定义操作列表(右键单击“项目/视图/自定义操作”),选择您的特殊自定义操作,然后在属性网格的“条件”属性中,您可以使用以下测试:< / p>

  OriginalDatabase >< "Debug"

Conditional Statement Syntax中记录了有趣的语法(&gt;&lt; means“contains”),OriginalDatabase(区分大小写)是一个包含.msi文件路径的完整路径名的属性正在安装。

Windows Installer的Property Reference中记录了这一点。您可以在各种项目(自定义操作,文件等)上定义的所有Condition属性中使用此类语法。注意“调试”可能过于简单,只是一段判别文本,但你明白了。

enter image description here

当然,假设你已经改变了.msi输出名称,在Debug配置中包含了“Debug”文本,如下所示:

enter image description here

另一种选择是始终嵌入自定义操作,但如果设置了某个属性,则不执行任何操作(例如,指示释放模式)。您可以使用CustomActionData将信息传递给自定义操作。