Использование cmd.exe в настраиваемом действии установки VS - PullRequest
0 голосов
/ 12 января 2010

Я установил свое пользовательское действие на cmd.exe и добавил следующие аргументы:

/K XmlPreProcess.exe /x:"[SETTINGSFILE]" /i:"[TARGETDIR]web.config" [CUSTOMSETTINGS] /e:[ENVIRONMENTBUTTON] >log.txt 

Я пытаюсь либо:

a) остановить экран команд, чтобы я мог его прочитать

b) записать результаты в файл, чтобы я мог его прочитать.

[ENVIRONMENTUTTON] должен быть равен QA - который я выбрал в диалоговой форме, показывающей 4 переключателя.[SETTINGSFILE] - это введенное пользователем поле, а также диалоговая форма.

Мигает окно команд, я не успеваю его прочитать, и файл log.txt не создается.

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

Смежные вопросы: Разобраться в подробной трассировке .MSI - запуск CustomAction Как отлаживать сбой настраиваемого действия в проекте MSI / Setup

Пробовал это один раз: msiexec / i "C: \ MyPackage \ Example.msi" / L * V "C: \ log \ example.log", но также не дал много полезного - только подтвердил, что мои значения подставлялиправильно в [SETTINGSFILE] и [ENVIRONMENTUTTON].

Я публикую новый вопрос, потому что сейчас я имею дело именно с cmd.exe.

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Некоторые предложения:

  • вы хотите использовать «/ c» вместо «/ k» («/ c» останавливается после выполнения команды)
  • "> log.txt" записывает вывод рядом с исполняемым файлом, который, скорее всего, находится в папке Temp (там извлекаются пользовательские действия); Вы можете попробовать что-то вроде этого:

    > "[DesktopFolder] log.txt"

  • в более новых версиях Windows "C: \ log \ example.log" может быть создан, только если вы используете окно команд с повышенными правами

Надеюсь, это поможет.

0 голосов
/ 21 января 2010

В какой последовательности выполняется настраиваемое действие и в каком контексте?

...