更改安装项目的预构建事件';s产品版本没有';直到生成之后才生效

本文关键字:之后 版本 项目 安装 构建 事件 | 更新日期: 2023-09-27 18:25:37

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

操作成功,生成完成后,我可以看到安装项目的"Version"属性已更改。

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

是否可能在编译msi之后发生预生成事件?

更改安装项目的预构建事件';s产品版本没有';直到生成之后才生效

我似乎记得在2005年左右,VDPROJ上的预构建操作出现了问题,我们不得不创建具有构建依赖关系的伪C++项目,这样我们就可以在VDPROJ构建之前使用C++的后构建来做事情。

记录在案,使用VDPROJ,任何事情都有可能(失败)。该工具在Visual Studio的下一个版本中已被弃用,因为它有缺点。

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