Самостоятельное обновление приложения с помощью WIX?
Я пишу приложение, которое необходимо установить на большое количество рабочих столов, а также нужно обновить его. Мы рассматриваем WIX для создания установки. Я использовал ClickOnce, и это нехорошее решение для этой установки. Кажется, что WIX подходит, но нет хорошего процесса автоматического обновления, которое я нашел.
Я просмотрел ClickThrough, но пока не готов к прайм-тайм. У кого-нибудь есть другое хорошее решение для использования с WIX (или, возможно, с другой программой установки) для автоматического обновления установки приложения?
Ответы
Ответ 1
Да, ClickThrough действительно то, что вы ищете здесь. В нем есть кусочки и кусочки. Вы можете проанализировать код и использовать его самостоятельно, без дополнительной "интеграции с UI + build". Большинство ошибок находятся на более высоких уровнях. В корне обновляется обновление RSS и исполняемый загрузочный загрузчик.
Ответ 2
Насколько "авто" -update должно быть? :-)
Мы используем WiX (2.0) для приложения, которое нужно устанавливать снова и снова. Пока вы выполняете "серьезные обновления" от версии к версии, это работает просто отлично - вы можете удалить старую версию, а затем переустановить новую - никаких серьезных проблем здесь нет.
Ключ заключается в том, чтобы иметь стабильный код UpgradeCode (GUID в вашем WiX), который никогда не меняется - это ключ для вашего приложения, - и иметь новый код продукта для каждого выпуска.
Затем в вашем файле wxs вам понадобятся два бита:
<Upgrade Id='--your-updatecode-GUID-here--'>
<UpgradeVersion MigrateFeatures='yes' RemoveFeatures='ALL' />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After='InstallInitialize' />
</InstallExecuteSequence>
Это должно сделать это!
Кроме этого - особо нечего сказать - это просто работает :-)
Ответ 3
Установщик Windows не предназначен для программного обеспечения для самостоятельного обновления. Если вам не нужна MSI или действительно нужно, чтобы приложение "тянуло" собственные обновления, используйте NSIS или какой-либо другой инструмент и напишите свою собственную процедуру обновления/обслуживания.
Однако, если это установлено на большом количестве рабочих столов внутри одной организации, лучшим решением будет развертывание MSI через Active Directory. Затем вы можете "вытолкнуть" обновления с помощью групповой политики. Это будет намного более надежным, чем любое приложение, которое обновляет себя.