Обновление установленной версии программы при использовании бинарного патча? - PullRequest
2 голосов
/ 19 августа 2011

Так что я изучаю идею использования чего-то вроде bsdiff для создания очень маленьких и автоматических патчей. Я заметил одно ограничение: он не будет обновлять номер установленной версии, который отображается в разделе «Программы и компоненты» в win7. Есть ли способ, которым вы можете обновить это вручную, какие API-интерфейсы вы должны использовать? и любые другие вещи, которые вы должны учитывать, очевидно, что такие вещи, как UAC, должны быть рассмотрены.

Ответы [ 2 ]

2 голосов
/ 22 августа 2011

В дополнение к ответу Бевана на 64-битных машинах путь может быть HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall

Я не уверен, что текущий пользователь также имеет эту структуру

2 голосов
/ 19 августа 2011

Номер версии в разделе «Программы и компоненты» или «Установка и удаление программных файлов» берется из записи реестра, а не из файла.

Под одним из этих ключей будет подраздел удаления приложения. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall

Обновление значения реестра DisplayVersion в этом ключе изменит номер версии в разделе «Программы и компоненты» или «Установка и удаление файлов программы».

...