获取用于安装应用程序的先前升级代码

时间:2009-07-29 07:57:31

标签: c#

C#2005 SP3

是否可以检索用于安装同一应用程序的以前的upgradeCode?

我向许多客户或我们的客户提供了申请。

他们使用MSI安装我们的应用程序。

每次我发布新版本的错误修复或次要升级。在安装项目属性中,我增加版本号并更改产品代码(我总是保留相同的升级代码)。我将'RemovePreviousVersion'设置为true。

然而,几周前,我意外地更改了upgradeCode并向我们的客户发布了新版本。直到现在,客户才想知道他们为什么在“添加删除程序”中拥有相同应用程序的其他实例。它安装正常,但他们必须卸载以前的版本。

我想知道是否可以取回用于安装这些版本的原始升级。当我使用相同的安装项目时,我不再拥有该升级代码了吗?

我仍然拥有使用原始升级代码构建的所有原始setups.exe,但我不确定他们是否可以帮助我。

非常感谢任何建议,

1 个答案:

答案 0 :(得分:2)

如果我正确理解了您的问题,那么您正在尝试检索产品的UpgradeCode GUID,以便您可以将其嵌入到MSI的下一个版本中,即您无法记住它是什么。

如果那是你的问题......

它存储在注册表中,因此进行一些拖网应该可以带来红利。

如果你去:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer

你会在UserData ... \ Products下找到很多条目。其中一个或多个将是您的产品。然后,如果您在UpgradeCodes中搜索包含产品密钥的密钥,您将找到GUIDS。

唯一棘手的一点是它们是用奇怪的符号写的,所以:

{ABCDEFGH-IJKL-MNOP-QRST-uvwxyz123456}

变为:

hgfedcbalkjiponmrqtsvuxwzy214365