HKLM \ S .. \ CurrentVersion \ Uninstall版本是如何从ProductVersion属性派生的

时间:2016-07-12 21:06:38

标签: algorithm windows-installer registry

我正在尝试深入解决我们遇到的间歇性问题,我们遇到一些主要的升级安装,在针对msi运行msiexec时评估为维护安装。 MSDN给出了Uninstall registry key的概要,并声明Version是从ProductVersion属性派生的。

我的问题是怎么样?例如'16 .48.31'如何转换为'0x1030001f(271581215)'? VersionMajor和VersionMinor分别很简单,分别是'16'和'48'。另一方面,版本并非如此。

答案可能与我的问题没有关系,但我已经没有其他线索可以追踪了。

1 个答案:

答案 0 :(得分:0)

您的问题可能是您未在更新设置中更新 ProductVersion ProductCode 以及包代码。这会产生次要升级,而不是所需的主要升级

每次编译设置时都应该更改包代码,因为它只应该是唯一的。如果两个MSI文件具有相同的包代码,Windows安装程序会根据定义将它们视为同一个文件,并且可能会导致奇怪的问题 - 包括您看到的行为。

我只是想确保您没有使用Installshield Installscript MSI项目?这是运行Installshields GUI而不是常规MSI GUI的特殊项目类型。项目类型存在问题,不应使用。相反,您应该使用基本的MSI项目。