Не забудьте, что сценарии в событиях Build - это не что иное, как скрипты оболочки, поэтому пробелы в путях (или сборках и т. Д.) Будут вкручиваться, если вы не окружите [double] кавычками.
Что я делаю, это использовать макрос $ {TargetPath} и т. Д. В оболочке, вводя команды точно так, как они будут развернуто, прежде всего, чтобы убедиться, что оно правильно. Там, где вы увидите, досталась ли вам проблема пространства.
Я согласен с тем, что интерфейс VS не дает много конкретной обратной связи, но, честно говоря, он действительно просто открывается в оболочку и отображает то, что возвращает оболочка после, это делается со всеми строками.
Таким образом, уровень ошибок ('код выхода' на VS) в одной строке помещается для итогового уровня ошибки a.
Вот 2 пакетных файлов я ставлю в моем корне проекта, "Copy Если Новее" для вывода директории, и запустить в командной строке:
.\startDeploy.bat
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe SomeService.exe
net start "Some Server"
... и ...
.\stopDeploy.bat
net stop "Some Server"
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /LogToConsole=true /u SomeService.exe
Если у вас есть лучший способ сделать это (мне нравится использование sc), тогда просто промойте, налейте, повторите. Когда вы уверены, что все хорошо, а затем конвертируйте в окно (события) Build events. Я не делаю этого, пока не буду готов к развертыванию.