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

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

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

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам