关于软件卸载时,想把注册表里面的项和键值删除,不知道怎么实现

lhwxf1987 2011-04-29 11:25:15
有高人吗,指点一下。
目前,我知道的是在一些打包软件可以实现对注册表键值的删除,但不知道考不靠谱?
还有据说,在uninstall方法里也可以实现,但不会用,求高手给出实例说明一下?
...全文
275 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhwxf1987 2011-05-06
  • 打赏
  • 举报
回复
有启发,感谢回帖
十八道胡同 2011-05-02
  • 打赏
  • 举报
回复
新建个项目,直接在Program.cs中修改如下
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.Win32;

namespace uninstall
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
string sysroot = System.Environment.SystemDirectory;
System.Diagnostics.Process.Start(sysroot + "\\msiexec.exe", "/x {51B1E78D-AC3D-41A1-A4FB-83C1168DE6C0} /qr");//红色部分就是你的产品ID
//下面是删除注册表的信息
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
software.DeleteSubKeyTree("管理系统");
}
}
}
然后将生成后的EXE和安装文件一起打包就可以了!

http://topic.csdn.net/t/20060914/16/5022509.html
lhwxf1987 2011-05-02
  • 打赏
  • 举报
回复
打包软件我已经学会了,就差uninstall()的方法了。
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
threenewbee 2011-04-29
  • 打赏
  • 举报
回复
所有的打包软件都有这个功能。

但是是否删除干净就不好说了。

这也不能怪卸载软件。情况是复杂的:

- 程序运行的时候增加或者修改了注册表项,卸载程序只能处理安装的时候记录下来添加上去的,但是对程序运行期前产生的注册表项就不敢乱删了
- 多个程序共享了同一个注册表项,或者共享了同一个库文件,为了避免删除掉导致别的软件无法工作,不敢删除
- 卸载程序运行的时候一些注册表条目被系统锁定,或者权限关系,无法操作

卸载软件的删除策略是通用的和保守的。一般地说,少删除一个注册表数据无非就是增加一点垃圾,但是错删则可能导致软件失效或者严重的问题。所以作为通用卸载软件的开发者肯定考虑安全第一。相反,那些标榜系统垃圾清理的所谓优化软件,往往不问青红皂白一顿乱删,电脑小白喜欢使用,因为过不了多久系统出现奇怪的问题他们又有折腾的机会了。
GeekUninstaller是一款专业好用的软件卸载删除软件。软件最大的特点是执行深入扫描进程,并清除您的电脑卸载后留下的垃圾,这与其他的软件卸载删除软件是不同的。软件不仅能强制卸载软件,还能保证卸载无残留,系统运行速度也不会有丝毫下降。软件界面美观简洁、简单全面、实用方便,无需培训,即可快速上手,轻轻松松完成日常软件卸载删除功能,真正做到简单全面实用。是用户实现日常软件卸载删除功能的好帮手。  极客软件卸载(GeekUninstaller)功能和特点 1、完全免费。 2、带有中文语言。默认情况下,首次运行后可能是繁体中文界面,你可以在“界面语言”菜单中更改过来。 3、界面简单,使用方便。这个软件只有一个主界面。windows中所有已安装的软件会全部显示在这里,而所有和卸载有关的功能都集中在右键菜单中。 4、单文件绿色版软件。在官网上下载后解压缩就可以使用,无需安装,更另人惊讶的是,这个软件只有一个文件哦。 5、“注册表条目”功能可以快速打开与之有关的注册表键值注册表编辑器中显示)@rjno1.com。 6、带有强制删除功能。使用后,所有和这个软件有关的文件和注册表都会被清理干净哦。 除此之外,GeekUninstaller还可以把已安装软件列表导出成html格式。 知道每个软件占用了多少硬盘空间?或者所有已安装软件占用的硬盘空间? 那么也可以在这个软件中找到答案哦。 卸载软件(GeekUninstaller)的特色: ①带有中文语言。默认情况下,首次运行后可能是繁体中文界面,你可以在“界面语言”菜单中更改过来。 ②界面简单,使用方便。这个软件只有一个主界面。windows中所有已安装的软件会全部显示在这里,而所有和卸载有关的功能都集中在右键菜单中。 ③单文件绿色版软件。在官网上下载后解压缩就可以使用,无需安装,更另人惊讶的是,这个软件只有一个文件哦。 ④“注册表条目”功能可以快速打开与之有关的注册表键值注册表编辑器中显示) ⑤带有强制删除功能。使用后,所有和这个软件有关的文件和注册表都会被清理干净哦。 ⑥GeekUninstaller还可以把已安装软件列表导出成html格式。 ⑦体积小,只有1.65 MB。完美支持windowsWindows 7/8/XP/Vista/2003/2008操作系统。 GeekUninstaller截图 GeekUninstaller 操作很简单,选择你要卸载的软件就OK,卸载完毕后会扫描注册表残留和安装目录,残留的文件基本上全删除。GeekUninstaller 除了程序卸载注册表目清理,还内置了搜索功能,可以通过Google搜索你不清楚的程序。 可快速找出安装软件所在目录位置    可快速打开安装软件注册表:     中文设置(如下图):

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧