Я разработчик проекта OSS horn, который позволяет облегчить боль при создании других проектов OSS. Мы пытаемся сделать рог рубиновыми камнями, как опыт. Одна из многих проблем рога - иметь дело со всеми различными двигателями сборки, такими как Nant, powershell, msbuild и rake, который является точкой этого сообщения.Running Rake из службы Windows.
У Хорна есть 2 проявления, он работает как инструмент линии cmd, а также работает как служба Windows, где он создает все различные пакеты, которые можно загрузить с сайта this.
Некоторые проекты OSS используют рейк для создания исходного кода, который в конечном итоге привел меня к сути этого сообщения.
Я не могу заставить процесс грабли работать из службы windows, а тот же самый код может запустить процесс грабли без каких-либо проблем при запуске из командной строки. Причина, по которой rake запускается из инструмента cmd line, может быть вызвана тем, что она связана с окном, хотя я не могу правильно сказать. Никакое исключение не выбрасывается, но процесс просто не запускается.
Самое забавное, что каждый другой .exe отлично работает, и это вызывает только грабли.
Вот код, чтобы начать, что создает процесс:
public IProcess GetProcess(string pathToBuildTool, string cmdLineArguments, string workingDirectoryPath)
{
var psi = new ProcessStartInfo(pathToBuildTool, cmdLineArguments)
{
UseShellExecute = false,
RedirectStandardOutput = true,
WorkingDirectory = workingDirectoryPath,
Arguments = cmdLineArguments
};
return new DiagnosticsProcess(Process.Start(psi));
}
Кто-нибудь есть какие-либо предложения о том, что проблема?
Никакой приятель сигар, но спасибо за ответ. Если вы смотрите на источник, то он находится в файле horn.services.sln, и install_package_service.bat установит его. У меня есть отладчик, который запускается в соответствующем месте при его запуске. – dagda1