首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用System.Diagnostic.Process卸载程序及其在C#中的UninstallString

用System.Diagnostic.Process卸载程序及其在C#中的UninstallString
EN

Stack Overflow用户
提问于 2013-02-06 09:39:43
回答 1查看 1K关注 0票数 0

我使用本守则 (也试过了)在注册表中使用卸载字符串卸载程序,但是第一个链接的代码中有一些错误。我试图修复它,但我很难弄清楚什么是文件名,什么是在争论中。我的UninstalString是:

rundll32.exe dfshim.dll,ShArpMaintain ItemMan.Client.application,Culture=neutral,PublicKeyToken=4f1069eb693dc232,processorArchitecture=msil

注册表中的目录是

CurrentUser\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\9e648bbdf5bc3053

我遇到麻烦的部分是:

代码语言:javascript
复制
            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();

有了这一点,什么都不会发生。我尝试过的所有其他方法都会造成错误。HOw --你会剪掉/用你的uninstalString卸载那个程序吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-06 09:59:51

卸载字符串是整个过程,第一个可执行文件之后的所有内容都是参数,因此您需要执行如下操作:

代码语言:javascript
复制
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();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14725793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档