Безопасно ли использовать автоматически сгенерированный GUID для тегов компонентов?
Мой сценарий таков: я хочу, чтобы установщик полностью удалил старую версию (все файлы, кроме тех, которые были созданы приложением за время его существования) и заменил ее новой версией.
В моем сценарии Wix я использую автоматически сгенерированный GUID (звездочка) для идентификатора продукта и идентификатора пакета, в то время как я использую свой собственный GUID для кода UpgradeCode, который всегда остается неизменным. В чем я не уверен, смогу ли я безопасно использовать автоматически сгенерированный GUID (звездочка) для тегов компонента, в отношении моего сценария?
До сих пор я использовал NSIS. Я хотел попробовать Wix, но получил немного сомнений, так как люди на форумах говорят, что вам понадобится около 30 дней, чтобы изучить его, а через NSIS можно начать через 1-2 дня. Однако для стандартной установки, в которой нуждаются обычные пользователи, мне потребовалось 2 дня, чтобы получить действительно хороший установочный пакет с использованием Wix. Если у вас есть небольшой опыт работы с XML, вам, вероятно, не стоит беспокоиться. Спасибо Робу и всем другим авторам за создание Wix!
1 ответ
Да, автогид Component/@Guid
безопасны Они сделаны очень специально, чтобы гарантировать, что GUID генерируется таким образом, чтобы он был стабильным во всех выпусках для этого компонента, чтобы не нарушать правила компонентов.
Кроме того, если вы не делитесь Компонентами с другими продуктами, и вы всегда используете крупные обновления, и вы планируете серьезное обновление заранее, вам вообще не нужно сильно беспокоиться о GUID компонентов, потому что два определения GUID компонентов никогда не будут включены. машина одновременно. Например, значения по умолчанию для MajorUpgrade
элемент даст вам именно это:
<MajorUpgrade DowngradeErrorMessage='A newer version of [ProductName] is installed.' />
Итак, ответ "да".:)