3

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

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

我可以在 Visual Studio 2017 中或通过手动编辑 .vdproj 文件来执行这些操作吗?

4

1 回答 1

2

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

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

  OriginalDatabase >< "Debug"

有趣的语法(>< 表示“包含”)记录在Conditional Statement Syntax中,OriginalDatabase(区分大小写)是一个包含正在安装的 .msi 文件路径的完整路径名的属性。

这记录在 Windows Installer 的属性参考中。Condition您可以在各种项目(自定义操作、文件等)上定义的所有属性中使用这种类型的语法。注意“调试”作为一个判别文本可能太简单了,但你明白了。

在此处输入图像描述

当然,假设您已更改 .msi 输出名称以包含“调试”文本,在调试配置中,如下所示:

在此处输入图像描述

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

于 2018-03-29T23:09:29.827 回答