C# 获取以前用于安装应用程序的升级代码

C# 获取以前用于安装应用程序的升级代码,c#,C#,C#2005 SP3 是否可以检索以前用于安装同一应用程序的升级代码 我已经把我们的申请发给了许多客户 他们使用MSI安装我们的应用程序 每次我发布一个新版本进行bug修复或小升级。在安装项目属性中,我增加版本号并更改产品代码(我始终保留相同的升级代码)。我将“RemovePreviousVersion”设置为true 然而,几周前,我意外地更改了升级代码,并向我们的客户发布了一个新版本。直到现在,客户才想知道为什么他们的“添加-删除程序”中有相同应用程序的其他实例。它安装正常,但他们必须卸载以

C#2005 SP3

是否可以检索以前用于安装同一应用程序的升级代码

我已经把我们的申请发给了许多客户

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

每次我发布一个新版本进行bug修复或小升级。在安装项目属性中,我增加版本号并更改产品代码(我始终保留相同的升级代码)。我将“RemovePreviousVersion”设置为true

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

我想知道是否有可能恢复用于安装这些版本的原始升级。因为我使用了相同的安装项目,我不再有升级代码了

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


非常感谢您的建议,

如果我正确理解您的问题,您将尝试检索产品的升级代码GUID,以便您可以将其嵌入到下一版本的MSI中,也就是说,您不记得它是什么

如果这是你的问题

它存储在注册表中,所以在上面进行一点拖网应该会有好处

如果您访问:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
您将在UserData…\Products下找到大量条目。其中一个或多个将是您的产品。如果然后在UpgradeCodes中搜索包含产品密钥的密钥,您将找到GUID

唯一棘手的一点是,它们是用奇怪的符号书写的,因此:

{abcdefgh-ijkl-mnop-qrst-uvwxyz123456}

变成:


hgfedcbalkjiponmrqtsvuxwzy214365

我的头撞在桌子上,直到我注意到翻译的升级代码与我正在使用的代码有相似之处。天哪。