2015-06-16 4 views
0

Я хотел бы запустить эту команду с C#:командной строки Start.Info.Argument ошибка

"%WIX%/bin/heat.exe" dir "C:\Documents and Settings\APP" -gg -sfrag -cg Appli -out wixappli.wxs

У меня есть этот код (Program.cs):

System.Diagnostics.Process process1 = new System.Diagnostics.Process(); 
process1.StartInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe"); 
process1.StartInfo.Arguments = String.Format("/k \"%WIX%/bin/heat.exe\" dir \"{0}\" -gg -sfrag -cg Appli -out wixappli.wxs ", 
@"C:\Documents and Settings\APP"); 
process1.StartInfo.WorkingDirectory = @"C:\Documents and Settings\test"; 
process1.StartInfo.CreateNoWindow = true; 
process1.StartInfo.ErrorDialog = false; 
process1.Start(); 

Ошибка:

'C:\Program' is not recognized as an internal command or external command

Не понимаю, потому что без C# он работает.

Вы можете мне помочь?

ответ

1

Обычно среды окружения (% windir%,% temp% и т. Д.) Используют обратную косую черту (\). попробуйте изменить свои аргументы, чтобы использовать обратную косую черту вместо косой черты (\ "% WIX% \ bin \ heat.exe \" ...

+0

Нет, я попробовал, и он не работает. Но без C# он работает с/bin/heat. exe. Это странно – Neyoh

+0

open cmd и выполнить: 'echo% wix%'. Каков результат? – Nissim

+0

У меня есть C: \ Program Files \ WiX Toolset v3.9 \ – Neyoh

Смежные вопросы