Должен ли программный GUID отличаться от GUID сборки?
Мы работаем над проектом, который мы будем развертывать как установочный исполняемый файл, созданный с помощью Inno Setup.
Теперь нам нужно указать GUID как для основной сборки (созданной VS2013), так и для программного обеспечения (afaik используется для идентификации установленного программного обеспечения). Должны ли эти два GUID отличаться или они должны быть одинаковыми? Сначала я подумал, что на самом деле мы должны использовать один и тот же GUID дважды, поскольку они относятся к одному и тому же продукту, однако можно утверждать, что это два разных экземпляра: программное обеспечение и сборка.
Какие последствия имеет выбор этих GUID? Какой подход предпочтительнее? Будут ли конфликты, если мы будем использовать один и тот же GUID дважды?
Редактировать: я имею в виду свойство InnoSetup AppId, которое по умолчанию установлено в сгенерированный GUID. Это окна GUID будут использовать для идентификации программного обеспечения?
1 ответ
AppId
Директива используется для однозначной идентификации вашей установки Inno Setup в системе. Ничего более или менее. Если вы выпускаете другой установщик с тем же AppId
значение директивы, это будет считаться обновлением предыдущей версии в системах, где установлена старая (например, действия, выполняемые новой версией, будут добавлены к существующему файлу журнала удаления).
Практическое правило: если новый установщик, который вы собираетесь выпустить, является обновлением старого, используйте тот же AppId
как в твоем старом. Измените это иначе.
Кроме AppId
значение не обязательно должно быть GUID, но из-за его уникальности обычно используют GUID.