Безопасно ли использовать автогенерированный GUID для тегов Component - программирование

Безопасно ли использовать автогенерированный GUID для тегов Component

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

В моем Wix script я использую автогенерированный GUID (звездочка) для идентификатора продукта и идентификатора пакета, в то время как я использую свой собственный GUID для UpgradeCode, который всегда остается таким же. Что я не уверен, могу ли я безопасно использовать автоматически сгенерированный GUID (звездочка) для тегов Component, применительно к моему сценарию?

До сих пор я использовал NSIS. Я хотел попробовать Wix, но получил небольшое сомнение, так как люди на форумах говорят, что вам понадобится около 30 дней, чтобы узнать его, а можно начинать с NSIS через 1-2 дня. Тем не менее, для стандартной установки, которой нужны типичные пользователи, мне потребовалось 2 дня, чтобы получить действительно хороший пакет установщика с помощью Wix. Если у вас немного фона в xml, вам, вероятно, не стоит беспокоиться. Спасибо Робу и всем другим разработчикам за создание Wix!

4b9b3361

Ответ 1

Да, auto-guid Component/@Guid безопасен. Они выполняются очень специально, чтобы гарантировать, что GUID генерируется таким образом, который является стабильным для всех выпусков для этого Компонента таким образом, что Правила компонентов не нарушаются.

Кроме того, если вы не используете Компоненты с другими продуктами и, вы всегда используете основные обновления и, вы планируете раннее обновление, тогда вам не придется беспокоиться о GUID компонентов очень много, потому что два определения GUID компонента никогда не будут находиться на машине в одно и то же время. Например, значения по умолчанию для элемента MajorUpgrade дают вам именно это:

<MajorUpgrade DowngradeErrorMessage='A newer version of [ProductName] is installed.' />

Итак, ответ: "Да".:)