В моей Team Build мне нужно запустить приложение, отображающее пользовательский интерфейс. Это приложение настроено на работу без ввода данных пользователем, если мы запустим его с соответствующим параметром командной строки.
Когда я пытаюсь запустить его локально, он запускается без ошибок, но если я запускаю его из Team Build, пользовательский интерфейс никогда не отображается, а процесс просто зависает. Я могу только представить, что это происходит, потому что служба TFSBuildServiceHost работает от имени конкретного пользователя. Проведя небольшое исследование, я обнаружил, что службы, не работающие в качестве локальной учетной записи службы, не могут отображать пользовательский интерфейс.
Имея это в виду, я изменил свой рабочий процесс, добавив в него действие InvokeProcess, вызвав PsExec и запустив мое приложение с параметрами -i и -s. Идея заключалась в том, что, добавив параметр -s, он сможет отображать пользовательский интерфейс. К сожалению, это не сработало. Если я добавлю параметр -h (Запускает исполняемый файл с его повышенным токеном), я получаю странное всплывающее окно из Interactive Service Detection, спрашивающее, хочу ли я показать сообщение, которое пытается быть отправленным.
Есть ли способ всегда принимать отправляемое сообщение?
Кто-нибудь знает, как запустить приложение, отображающее пользовательский интерфейс из Team Build?