Обновление установленной версии программы при использовании бинарного патча?
Поэтому я изучаю идею использования чего-то вроде bsdiff для создания очень маленьких и автоматических патчей. Я заметил одно ограничение: он не будет обновлять номер установленной версии, который отображается в разделе "Программы и компоненты" в win7. Есть ли способ, которым вы можете обновить это вручную, какие API-интерфейсы вы должны использовать? и любые другие вещи, которые вы должны учитывать, очевидно, что такие вещи, как UAC, должны быть рассмотрены.
2 ответа
В дополнение к ответу Бевана на 64-битных машинах путь может быть HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
Я не уверен, что текущий пользователь также имеет эту структуру
Номер версии в разделе "Программы и компоненты" или "Установка и удаление программных файлов" берется из записи реестра, а не из файла.
Под одним из этих ключей будет подраздел удаления приложения. HKEY_CURRENT_USER\ Программное обеспечение \Microsoft\Windows\CurrentVersion\ Удалить HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ Удалить
Обновление значения реестра DisplayVersion в этом ключе изменит номер версии в разделе "Программы и компоненты" или "Установка и удаление файлов программы".