Переключение с InstallShield на WiX - PullRequest
14 голосов
/ 26 февраля 2009

Я ищу замену InstallShield. К сожалению, у нас есть только 1 лицензия на InstallShield, и она была установлена ​​на компьютере разработчика. Я подумываю о переходе на WiX, но после прочтения документации есть GUID идентификатора продукта, GUID кода обновления и GUID пакета.

Я также знаю, что GUID были созданы InstallShield. Если я переключусь на WiX, могу ли я начать использовать новые GUID или я должен использовать некоторые из GUID, созданных InstallShield? Если будет выпущено обновление до продукта, будут ли заменены установщики, у которых был старый установщик?

Ответы [ 4 ]

18 голосов
/ 26 февраля 2009

Чтобы иметь возможность обновить старый пакет, вам нужно использовать (и узнать) свой старый код обновления.
Код пакета должен быть разным (то есть автоматически генерируемым) для каждого отдельного MSI (MSI может быть кэширован с помощью guid в качестве ключа кэша).
Код продукта должен отличаться между основными обновлениями, но важен для небольших обновлений и исправлений. В настоящее время я не использовал wix для выполнения каких-либо других задач, кроме крупных обновлений, поэтому я не знаю точных подробностей

См. Статью MSDN о исправлениях и обновлениях , а также Учебное пособие по WiX

11 голосов
/ 27 февраля 2009

Также может быть интересно узнать, что вы можете декомпилировать msi, сгенерированную Installshield, с помощью инструмента dark.exe (входит в состав wix). Это восстановит код обновления среди прочего.

5 голосов
/ 27 февраля 2009

Я бы также предложил получить копию Полное руководство по установке Windows , я очень рекомендую книгу и не знаю, как бы я перешел на WiX без нее , Это очень низкоуровневый обзор установщика Windows, если вы понимаете книгу, WiX становится довольно простым.

2 голосов
/ 03 июля 2009

Я знаю, что вы уже приняли ответ, но подружитесь с Orca , если вы еще этого не сделали.

Orca помогла мне понять MSI и то, что WiX делал под прикрытием. В вашем случае это сделает поиск GUID обновления (или любого другого) очень простым.

Этот вопрос может также сэкономить ваше время и головные боли:)

...