Должен ли программный GUID отличаться от GUID сборки?

1

Мы работаем над проектом, который будет развернут как исполняемый файл установки, созданный с помощью Inno Setup.

Теперь мы должны указать GUID как для основной сборки (созданной VS2013), так и для программного обеспечения (afaik, используемого для идентификации установленного программного обеспечения). Должны ли эти два идентификатора GUID отличаться или должны быть одинаковыми? Сначала я думал, что мы должны использовать один и тот же идентификатор GUID дважды, потому что они относятся к одному и тому же продукту, однако можно утверждать, что это два разных экземпляра: программное обеспечение и сборка.

Каковы последствия выбора этих GUID? Какой подход предпочтительнее? Будут ли какие-либо конфликты, если мы дважды используем один и тот же идентификатор GUID?

Изменение: я имею в виду свойство InnoSetup AppId, которое по умолчанию установлено на сгенерированный GUID. Это GUID-окна будут использоваться для идентификации программного обеспечения?

  • 1
    AppId - это InnoSetup, установщик, который обновляет существующее приложение, должен использовать тот же AppId. Нет никаких причин, чтобы он соответствовал руководству по сборке. И нет никаких причин не делать их одинаковыми. Это не обязательно должен быть гид, подойдет любая строка.
Теги:
installation
guid
inno-setup

1 ответ

1
Лучший ответ

Директива AppId используется для уникальной идентификации установки Inno Setup в системе. Ничего больше или меньше. Если вы выпустите другой установщик с тем же AppId директивы AppId, он будет считаться обновлением до предыдущего в системах, где установлен старый (например, действия, выполняемые новой версией, будут добавлены в существующий файл журнала удалений).

Правило большого пальца: если новый установщик, который вы собираетесь выпустить, является обновлением старого, используйте тот же самый AppId что и в своем старом. Измените это иначе.

Кроме того, значение AppId не обязательно должно быть GUID, но обычной практикой является использование GUID из-за его уникальности.

  • 0
    Спасибо за ответ! Однако это не отвечает, должен ли AppId отличаться от GUID сборки.
  • 0
    Это делает: Директива AppId используется для уникальной идентификации вашей установки Inno Setup в системе. Ничего более или менее. , Это означает, что это не имеет ничего общего с вашими сборками.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню