Самостоятельное обновление приложения с помощью WIX?

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

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

3 ответов


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


насколько "авто" - обновление должно быть? :-)

мы используем WiX (2.0) для приложения, которое необходимо устанавливать снова и снова. Пока вы идете с "основными обновлениями" от версии к версии, это работает просто отлично - вы можете удалить старую версию, а затем переустановить новую-никаких серьезных проблем здесь нет.

ключ должен иметь стабильный "UpgradeCode" (GUID в вашем WiX), который никогда не меняется - это ключ для вашего приложения - и иметь новый код продукта для каждый релиз.

тогда в вашем файле wxs вам нужно два бита:

<Upgrade Id='--your-updatecode-GUID-here--'>
    <UpgradeVersion MigrateFeatures='yes' RemoveFeatures='ALL' />
</Upgrade>

<InstallExecuteSequence>
  <RemoveExistingProducts After='InstallInitialize' />
</InstallExecuteSequence>

Это должно сделать это!

кроме этого-ничего особенного сказать - это просто работает: -)

Марк


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

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