2

我已按照此处描述的步骤使用预构建事件在每次构建时修改我的设置项目中的 ProductCode 和 ProductVersion。
(意思是——我创建了一个控制台应用程序,它使用上述代码修改 .vdproj 文件,并从预构建事件中触发它)。

操作成功,构建完成后我可以看到安装项目的“版本”属性发生了变化。

但是,已编译 msi的“ProductVersion”属性不会更改。
只有当我再次构建安装项目,我才能看到“ProductVersion”已更改。

编译 msi 后是否可能发生 prebuild 事件?

4

1 回答 1

1

我似乎记得 2005 年左右在 VDPROJ 上的预构建操作存在问题,我们不得不创建带有构建依赖项的假 C++ 项目,因此我们可以在 VDPROJ 构建之前使用 C++ 的后期构建来做事。

郑重声明,使用 VDPROJ 一切皆有可能(失败)。由于它的缺点,该工具在 Visual Studio 的下一版本中已弃用。

在构建的 MSI 中对 Property 表进行构建后 SQL 更新可能是更好的选择。切换到不同的工具肯定是一个更好的选择。

于 2012-02-22T13:34:17.860 回答