Я пытаюсь запустить приложение внешнего приложения для платформы, которую я разработал. Причина, по которой я хотел бы запустить этот модуль обновления, состоит в том, что моя утилита конфигурации, которая обрабатывает обновления и конфигурацию лицензии для платформы, имеет общие зависимости с другими сборками в папке, в которой будет развернуто обновление. Поэтому, хотя я могу переименовать утилиту конфигурации и перезаписать ее при развертывании обновления, я не могу переименовать или перезаписать DLL, от которого он зависит. Следовательно, внешнее приложение для обновления.
Я обрабатываю всю логику сбора обновлений в утилите конфигурации, а затем пытаюсь запустить средство обновления для обработки фактических операций копирования и перезаписывания файлов. Очевидно, из-за проблем, связанных с файлом, мне нужно, чтобы утилита конфигурации выходила сразу после начала обновления.
Проблема, с которой я столкнулась, заключается в том, что я использую стандартный метод Process.Start для запуска средства обновления, и как только утилита конфигурации завершается, процесс обновления также будет убит.
Есть ли способ создать процесс, который переживает его родительский элемент, или запустить внешнее приложение, которое может запускаться за пределы программы, запускающей его?
EDIT:
По-видимому, в моем приложении для обновления я просчитал количество аргументов командной строки, которые ему переданы. Из-за этого программа обновления немедленно выйдет. Я неправильно истолковал это, чтобы означать, что приложение запуска запускало "детский" процесс, когда на самом деле это не так.
Ниже приведены правильные ответы.