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