WiX: обновить номер версии, отображаемый в окне «Установка и удаление программ». - PullRequest
1 голос
/ 20 декабря 2010

Я использую WyUpdate для автоматической доставки обновлений программы, поэтому мои клиенты всегда используют последнюю версию. Однако одной из проблем этого подхода является то, что установщик MSI (созданный с помощью WiX 3.5) не вызывается во время обновлений, и поэтому номера версий в Установка и удаление программ не увеличиваются.

У меня вопрос: есть ли какой-нибудь безопасный способ программно повысить отображаемую версию? (WyUpdate имеет возможность выполнять пользовательский код и изменять значения реестра во время обновлений).

Ответы [ 2 ]

4 голосов
/ 20 декабря 2010

Технически, вы можете найти ключ в системном реестре, из которого читается версия (как правило, в разделе ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / Microsoft / Windows / CurrentVersion / Uninstall), и заставить ваше программное обеспечение обновления каждый раз изменять это значение с правильной версией.

НО Я не думаю, что это хорошая идея. Изменение разделов реестра, которые вы не должны, и внедрение собственной логики в установщик Windows может привести к непредвиденным последствиям. Я бы лично никогда этого не делал. Рано или поздно он выстрелит ...

Кстати, если вы не используете установщик Windows с обновлениями, почему так важно обновлять версию в ARP? У вас должно быть известное место в вашем приложении, где пользователи могут искать текущую версию, например.

0 голосов
/ 20 января 2011

Просто измените значение «DisplayVersion» на последнюю версию.

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourAppName

Кроме того, чтобы сэкономить время, в wyBuild вы можете использовать переменную% version% , и каждая новая версия, которую вы создаете, будет использовать правильную версию (вместо того, чтобы вводить ее каждый раз) вы выпускаете новую версию).

Относительно того, что сказал Ян ...

НО Я не думаю, что это хорошая идея. Изменение разделов реестра, которые вы не должны, и внедрение собственной логики в установщик Windows может привести к непредвиденным последствиям. Я бы лично никогда этого не делал. Рано или поздно он выстрелит ...

Это совершенно неправильно. Редактирование значения реестра не меняет логику установщика. Это совсем не опасно. Конечный пользователь все еще может восстановить исходную установку (вернуть реестр и все файлы обратно в исходную версию), и он может запустить деинсталлятор, и он удалит реестр и файлы (несмотря на их изменение).

Если вы не хотите, чтобы «восстановление MSI» возвращалось к исходной установке (а не к обновленной версии вашего приложения), тогда вы захотите доставить * .msp или * .msi своим пользователям и выполнить его как часть вашего обновления .

Краткий ответ: редактирование реестра не является ни злым, ни небезопасным, если вы понимаете, что к чему.

...