1

コマンド ライン引数を使用して C# でプログラムをアンインストールしようとしていREBOOT=ReallySuppressますが、Windows プロセス モニター (Rohitab による API モニター) は、目的のコマンド ライン引数が実際には msiexec.exe に渡されていないことを示しています。コードに欠陥はありますか?

public static List<ManagementObject> programs;       

public void Uninstall(int index)
{
    object[] args = {"REBOOT=ReallySuppress", "REMOVE=ALL"};
    programs[index].InvokeMethod("Uninstall", args);
}

...

プログラムのリストは、コードの他の場所で初期化されており、正しく機能しています。API モニターは、msiexec.exe プロセスが次のパラメーターで開始されたことを示しています。

"C:\Windows\SysWOW64\\msiexec.exe" /i "C:\Users\Joel Denning\AppData\LocalLow\Sun\Java\jre1.7.0_45.msi" /qn METHOD=joff

REBOOT=ReallySuppress渡したorREMOVE=ALL引数がありません。

4

1 に答える 1