我正在使用this Code (Tried this too)要在我的注册表中使用我的卸载字符串卸载程序,但第一个链接的代码中存在一些错误。 我试图解决它,但我无法弄清楚文件名中的内容,以及参数中的内容。我的UninstalString是:
rundll32.exe dfshim.dll,ShArpMaintain ItemMan.Client.application,Culture = neutral,PublicKeyToken = 4f1069eb693dc232,processorArchitecture = msil
注册表中的目录是
CurrentUser \ SOFTWARE \微软\的Windows \ CurrentVersion \卸载\ 9e648bbdf5bc3053
我遇到问题的部分:
System.Diagnostics.Process FProcess = new System.Diagnostics.Process();
FProcess.StartInfo.FileName = "rundll32.exe"; (Dont know if this is right though, but have tried various ways to write the FileName...)
FProcess.StartInfo.Arguments = "9e648bbdf5bc3053";
FProcess.StartInfo.UseShellExecute = false;
FProcess.Start();
FProcess.WaitForExit();
有了这个位,没有任何反应。我试过的所有其他方式都会引发错误。你会删除/使用uninstalString卸载该程序
答案 0 :(得分:1)
卸载字符串是整个事情,第一个可执行文件之后的所有内容都是参数,因此您需要执行以下操作:
var start_info = new StartInfo() {
FileName = "rundll32.exe",
Arguments = "dfshim.dll,ShArpMaintain ItemMan.Client.application, Culture=neutral, PublicKeyToken=4f1069eb693dc232, processorArchitecture=msil",
UseShellExecute = false
};
Process process = new Process(start_info);
process.Start();
process.WaitForExit();