2014-11-06 4 views
1

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

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

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

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

+1

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

ответ

1

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

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

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

+0

Спасибо за anwer! Однако это не отвечает, должен ли AppId отличаться от GUID сборки. –

+0

Он: * Директива AppId используется для уникальной идентификации установки Inno Setup в системе. Ничего больше или меньше. *. Это означает, что это не имеет ничего общего с вашими собраниями. – TLama

+0

Хорошо, вы правы, большое вам спасибо! –

Смежные вопросы