Самообновляющееся приложение устанавливается с WIX? - PullRequest
21 голосов
/ 28 апреля 2009

Я пишу приложение, которое необходимо установить на большое количество рабочих столов, а также обновить само. Мы смотрим на WIX для создания установки. Я использовал ClickOnce, и это не очень хорошее решение для этой установки. WIX, кажется, подходит, но я не нашел хорошего процесса автоматического обновления.

Я посмотрел на ClickThrough , но он еще не готов к прайм-тайм. У кого-нибудь есть другое хорошее решение для использования с WIX (или, возможно, другой установочной программой) для автоматического обновления установки приложения?

Ответы [ 3 ]

10 голосов
/ 07 мая 2009

Да, ClickThrough действительно то, что вы ищете здесь. В нем есть кусочки, которые работают. Возможно, вы сможете разбирать код и использовать его самостоятельно, не прибегая к дополнительной «интеграции UI + build». Большинство ошибок находятся на более высоких уровнях. В корне, обновление RSS и исполняемый загрузчик работают нормально.

4 голосов
/ 28 апреля 2009

Насколько «автоматическим» обновлением это должно быть? :-)

Мы используем 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 голосов
/ 29 апреля 2009

Установщик Windows не предназначен для «самообновления» программного обеспечения. Если вам не нужен MSI или вам действительно нужно, чтобы приложение «вытягивало» собственные обновления, используйте NSIS или другой инструмент и напишите свою собственную процедуру обновления / службу.

Однако, если он устанавливается на большое количество рабочих столов в рамках одной организации, лучшим решением будет развертывание MSI через Active Directory. Затем вы можете «выталкивать» обновления с помощью групповой политики. Это будет намного надежнее, чем любое приложение, которое само обновляется.

...