2009-07-29 48 views
0

C#2005 SP3獲取用於安裝應用程序的以前的升級代碼

是否可以檢索用於安裝相同應用程序的前面的upgradeCode?

我已將我們的應用程序提供給許多客戶或我們的客戶。

他們使用MSI安裝我們的應用程序。

每當我發佈新版本的bug修復或小升級。在設置項目屬性中,我增加版本號並更改產品代碼(我總是保留相同的升級代碼)。我將'RemovePreviousVersion'設置爲true。

但是,幾周前,我意外地更改了upgradeCode並向我們的客戶發佈了新版本。直到現在,一位客戶想知道爲什麼他們在「添加刪除程序」中還有其他相同應用程序的實例。它安裝正常,但他們必須卸載以前的版本。

我想知道是否有可能找回用於安裝這些版本的原始升級。正如我使用相同的安裝項目,我不再有升級代碼?

我仍然擁有所有使用原始升級代碼構建的原始setups.exe,但我不確定他們是否可以幫助我。

非常感謝您的任何建議,

回答

2

如果我正確理解你的問題你要檢索的UpgradeCode GUID的產品,這樣就可以在你的MSI即你可以」的下一個版本將其嵌入不要忘記它是什麼。

如果這是你的問題...

它存儲在註冊表中,所以有點拖網對應該支付股息。

如果你去:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer 

你會發現下面的UserData \產品一大堆條目。其中一個或多個將是您的產品。如果您然後在UpgradeCodes中搜索包含產品密鑰的密鑰,您會發現GUID。

唯一棘手的一點是,它們被寫入在一個奇怪的符號,以使得:

{ABCDEFGH-IJKL-MNOP-QRST-uvwxyz123456}

變爲:

hgfedcbalkjiponmrqtsvuxwzy214365

+0

直到我注意到翻譯的升級代碼與我正在使用的升級代碼有相似之處時,我纔將頭撞向桌面。天啊。 – 2016-08-25 21:58:38