Сбой фиксации .exe с использованием настраиваемых действий в проекте установщика - PullRequest
0 голосов
/ 03 декабря 2018

Я пытаюсь создать в проекте установщика VS17 установщик .MSI для нескольких других .EXE файлов (простая настройка других установщиков).Основная идея состоит в том, чтобы использовать мой проект для установки около 5 различных программ, одна за другой.Я хочу подчеркнуть, что EXE не являются частью решения (например, один из них - установщик Notepad ++ , загруженный из Интернета).

Я загрузил все свои .EXEфайлы в раздел фиксации пользовательских действий.Когда мой установщик запускает его, убедитесь, что все .EXE-файлы расположены в правильном месте, но когда запускается первый, он приходит к точке, в которой я получаю следующее сообщение:

"Другая установка выполняется"

(имеется в виду мой собственный установщик).У меня нет выбора, кроме как закрыть это окно и оставить текущую установку, а затем мой собственный установщик завершается ошибкой:

".. Программа, запущенная как часть установки, не завершилась, как ожидалось ..."

В результате получается тупик ... В конце концов мне пришлось отменить и ничего не удалось установить.

Я понимаю, что Windows не может работать больше, чемодин установщик одновременно ... Что я могу сделать, чтобы пообедать все мои .EXE-файл один за другим ПОСЛЕ того, как мой установщик .MSI завершит работу?

1 Ответ

0 голосов
/ 09 января 2019

Я нашел подходящее для меня решение. Установщик Windows не будет запускать более одного процесса инсталляции одновременно, поэтому я сделал следующее:

Метод A (самый быстрый): я использовал a.VB-файл в разделе Commit пользовательских действий и использовал его для запуска моих настроек.

Метод B (лучше): переопределите метод Commit в классе установки и вызовите все мои настройки оттуда (через один пакетный файл).).Чтобы запустить его после установки, я должен был установить основной вывод проекта в разделе ВСЕ пользовательские действия (Установить, зафиксировать, откатить и удалить - и НЕ только в разделе фиксации).

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

...