2011-08-19 58 views
2

所以我正在研究使用類似bsdiff的東西來創建非常小的自動補丁。我注意到的一個限制是它不會更新在win7中的程序和功能中顯示的已安裝版本號。有什麼方法可以手動更新這個,你應該使用的任何API?和其他你應該考慮的事情,顯然像UAC這樣的事情需要考慮。在使用二進制補丁時更新已安裝的程序版本?

+0

在Windows安裝程序和MSI技術支持通過MSP文件進行「修補」。對於所有這些WIX是一個好的前端:http://wix.sourceforge.net/ – selbie

回答

2

除了貝文的回答在64位機器上的路徑可能是HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微軟\的Windows \ CurrentVersion \卸載

我不知道,如果目前的用戶也具有這種結構

2

「程序和功能」或「添加/刪除程序文件」中的版本號來自注冊表項,而不是來自文件。

在其中一個鍵下面會出現應用程序的卸載子鍵。 HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \卸載 HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows \ CurrentVersion \卸載

更新本項下的DisplayVersion註冊表值將改變在程序和功能的版本號或添加/刪除程序文件。

+0

我似乎沒有看到我們的軟件在任何這些位置。它通常通過安裝盾安裝,但我會認爲他們是代表您安裝的應用程序的中心位置。 –

+0

我想我找到了。似乎在64位上,您需要考慮此路徑 HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall –

相關問題