Visual Studio 基于构建配置的安装程序项目自定义操作

Visual Studio Installer Project Custom Action based on Build Configuration

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

也include/exclude 基于构建配置的文件?

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

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

只需转到自定义操作列表(right-click 上的 Project/View/Custom 操作),select 您的特殊自定义操作,然后在 "Condition" 属性 在属性格子中,可以使用如下测试:

  OriginalDatabase >< "Debug"

Conditional Statement Syntax 中记录了有趣的语法(< 表示 "contains"),OriginalDatabase (case-sensitive) 是包含完整内容的 属性正在安装的 .msi 文件路径的路径名。

这记录在 Windows 安装程序的 Property Reference 中。您可以在各种项目(自定义操作、文件等)上定义的所有 Condition 属性中使用这种类型的语法。注意 "Debug" 作为判别文本可能太简单了,但你明白了。

当然,前提是您已将 .msi 输出名称更改为包含 "Debug" 文本,在调试配置中,如下所示:

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