0

System.Diagnostics.Processを呼び出してcmd.exeでいくつかのコマンドを実行し、いくつかのインストーラーをパッシブにインストールするac#exeがあります。自分のマシンでテストしています(64ビットwin8で問題なく動作しますが、 32ビットバージョンのWindowsXPでexeを実行すると、プログラムはプロセス部分をスキップするだけです。エラーはスローされず、無視されます。これが私のコードです。

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("CMD.exe", @"/C [command stuff]}");
psi.CreateNoWindow = true;     
psi.UseShellExecute = false;   
System.Diagnostics.Process diag = System.Diagnostics.Process.Start(psi);
diag.WaitForExit();
diag.Close();

ここでの取引は何でしょうか?繰り返しますが、エラーは発生しません。無視されます。私はそこですべてを行うことができ、コマンドとしてdateを実行するだけで問題なく動作しますが、インストールに必要なmsiファイルとexeファイルは実行されません。64ビットでは動作するが32ビットでは動作しないという情報は見つかりません。ありがとうございます。

4

1 に答える 1

0

それで私は自分の問題が何であるかを知りました。インストールする.msiを実行する前に、構文C:/folder/setup.msiを使用してディレクトリを変更しました。これは私のコンピューターでは正常に機能しますが、XPでは何もしませんでした。スラッシュの処理方法がわからなかったことがわかりました。私がしなければならなかったのはそれをC:\ folder \ setup.msiに変更することだけで、それはうまくいきました。私は馬鹿のように感じます、これが誰かを助けてくれることを願っています笑。

于 2013-02-13T06:36:51.840 に答える