所以我正在研究使用类似bsdiff的东西来创build非常小的自动补丁。 我注意到的一个限制是它不会更新win7中程序和function中显示的已安装版本号。 有什么办法可以手动更新这个,你应该使用任何API? 和其他你应该考虑的事情,显然像UAC这样的事情将需要考虑。
“程序和功能”或“添加/删除程序文件”中的版本号来自注册表项,而不是来自文件。
在其中一个键下面会有应用程序的卸载子键。 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall
更新此项下的DisplayVersion注册表值将更改程序和功能或添加/删除程序文件中的版本号。
除了Bevan在64位机器上的回答,路径可以是HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall
我不确定Current用户是否也有这个结构