预构建事件以更改安装项目的ProductVersion在构建之后才会生效

时间:2012-02-22 13:01:55

标签: c# visual-studio-2010 windows-installer setup-project pre-build-event

我已按照here所述的步骤使用预建事件修改每个版本的安装项目上的ProductCode和ProductVersion。 (意思是 - 我创建了一个控制台应用程序,它使用上面提到的代码来修改.vdproj文件,我从预构建事件中触发它。)

操作成功,在构建完成后,我可以看到安装项目的“Version”属性已更改。

但是,编译的msi 的“ProductVersion”属性不会改变。
只有我再次构建设置项目 ,我才能看到'ProductVersion'已经改变了。

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

1 个答案:

答案 0 :(得分:1)

我似乎回想起2005年左右VDPROJ上的prebuild操作存在问题,我们不得不创建具有构建依赖性的假C ++项目,因此我们可以使用C ++的postbuild在VDPROJ构建之前做一些事情。

对于记录,使用VDPROJ可以做任何事情(失败)。由于它的缺点,该工具在Visual Studio的下一个版本中已弃用。

构建的MSI中Property表的postbuild SQL更新可能是更好的选择。切换到不同的工具肯定是更好的选择。