Мой выпуск:
Я создал два модуля слияния. Давайте назовем их A и B. Модуль слияния B зависит от A. A устанавливает aaa.dll в Windows рядом друг с другом. B содержит bbb.dll, который регистрируется во время установки и зависит от aaa.dll. Как модуль слияния примечаний стороны был создан в Install shield 2012, и модуль слияния B был создан с помощью мастера Visual Studio 2010.
У меня есть проект установки щита, который устанавливает оба модуля слияния. Я захожу в Application Data-> Redistributables и добавляю B к установке. Это автоматически проверяет А. Если я захожу в «Организация-> Настройка дизайна» и раскрываю функцию, содержащую B, то нажимаю «B.». Откроется окно с информацией о B. В ней есть заголовок «Зависимости», в котором правильно указан A.
Я строю проект и пытаюсь установить его на чистую ВМ. Во время установки я получаю сообщение об ошибке, в котором говорится, что bbb.dll не удалось зарегистрировать. Я хочу игнорировать, отменить. В этот момент я посмотрел в winsxs на машине и заметил, что aaa.dll не существует в правильной папке. Скорее, он существует в подпапке winsxs \ InstallTemp \. Затем, если я нажимаю игнорировать во всплывающем окне с ошибкой, установка продолжается без дальнейших ошибок. Затем, после его завершения, я могу вручную зарегистрировать bbb.dll, и aaa.dll существует в соответствующей подпапке winsxs.
У меня вопрос, как мне заставить модуль слияния A полностью завершить работу и поместить aaa.dll в правильное место, чтобы все было установлено правильно?
Вещи, которые я пробовал:
- Я попытался сделать несколько функций в проекте Install Shield
под Организация-> Настройка дизайна. Итак, я создал 3 функции. Особенность 1
в верхней части, которая просто содержит A. Особенность 2, которая содержит A, а затем B.
Наконец функция 3, которая снова содержит А. Я сделал все 3 функции
требуется. Я надеялся, что это будет означать, что вся функция будет
Закончите установку и поместите aaa.dll в правильную бок о бок
место нахождения. Однако не такая удача. (Я создал 3 функции на всякий случай
У меня был заказ в обратном направлении или что-то)
- Я вполне уверен, что проблема в том, что aaa.dll просто нет
установлен вовремя или в нужном месте. Чтобы проверить это, я сначала попытался установить aaa.dll, используя установщик щита установки, который только что установил модуль слияния А. Затем я запустил мой основной установщик, и все заработало.
Извините за стену текста и любую неправильную грамматику \ орфографию. Я опубликую, если выясню проблему самостоятельно, на случай, если кто-то в конечном итоге столкнется с этой проблемой, потому что это действительно расстраивает.