#install4j
#установка4j
Вопрос:
У меня есть проект, который я обновляю, который создает установщик обновлений для приложения. Правила для этого установщика включают «есть определенные файлы, которые вам запрещено удалять» и «полный установщик удаляет важную информацию, поэтому нам нужен отдельный установщик обновлений». Пока мы не сможем исправить оба этих правила, у нас есть процесс, который берет список файлов, которые разрешено удалять во время обновления, добавляет имя файла в шаблон действия «Удалить файл» и сохраняет его в текстовом файле. Когда все сказано и сделано, этот текстовый файл затем используется для замены строки TEMPLATE_FILE в проекте install4j. Я только что заметил, что идентификаторы, которые мы используем для этих действий по удалению файлов, будут конфликтовать с существующими идентификаторами в проекте.
Итак, как Install4j справляется с такими конфликтами? Если этого не произойдет, я переделаю код, чтобы изменить идентификаторы, присвоенные действиям по мере их создания, но каков мой предел? Максимальное целое число?
Ответ №1:
Ну, ответ таков: да, если IDE является каким-либо признаком, конфликты идентификаторов будут использовать последний идентификатор, присутствующий в файле проекта. В моем дереве деинсталлятора была ссылка на Привилегии запроса в дереве установщика с идентификатором 513. При наличии дубликатов идентификаторов дерево деинсталлятора показывало это как ссылку на действие по удалению файла. Что приводит к сбою деинсталлятора, а также к непредсказуемости установщика.
Поэтому, если вы собираетесь вручную создать файл проекта, выберите разумные идентификаторы и обратите внимание на идентификаторы, уже предлагаемые IDE.