2013-02-06 40 views
0

Im使用this Code(Tried this too)要在我的註冊表中使用卸載字符串來卸載程序,但第一個鏈接的代碼中存在一些錯誤。 Im試圖解決它,但我很難找出文件名中的內容,以及參數中的內容。我UninstalString是:使用System.Diagnostic.Process及其UninstallString在C#中卸載程序

RUNDLL32.EXE dfshim.dll,ShArpMaintain ItemMan.Client.application,文化=中性公鑰= 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卸載該程序

回答

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();