安装程序项目是否可以根据项目构建配置(例如,调试,发布等)有条件地运行自定义操作?
还要根据构建配置包含/排除文件?
我可以在Visual Studio 2017中手动编辑.vdproj文件吗?
答案 0 :(得分:2)
一旦定义了项目,我们假设自定义操作是一个.NET安装程序项目(它不是强制性的,但在我的示例中就是这样)。
只需转到自定义操作列表(右键单击“项目/视图/自定义操作”),选择您的特殊自定义操作,然后在属性网格的“条件”属性中,您可以使用以下测试:< / p>
OriginalDatabase >< "Debug"
Conditional Statement Syntax中记录了有趣的语法(&gt;&lt; means“contains”),OriginalDatabase
(区分大小写)是一个包含.msi文件路径的完整路径名的属性正在安装。
Windows Installer的Property Reference中记录了这一点。您可以在各种项目(自定义操作,文件等)上定义的所有Condition
属性中使用此类语法。注意“调试”可能过于简单,只是一段判别文本,但你明白了。
当然,假设你已经改变了.msi输出名称,在Debug配置中包含了“Debug”文本,如下所示:
另一种选择是始终嵌入自定义操作,但如果设置了某个属性,则不执行任何操作(例如,指示释放模式)。您可以使用CustomActionData
将信息传递给自定义操作。