中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 23:50
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [讨论]如何根据注册表检测某个软件是否安装?
可打印版本  1,572 / 4
第1楼 HUNRYBECKY 发表于 2006-12-19 00:51
银牌会员 发帖 442 积分 1,179
[讨论]如何根据注册表检测某个软件是否安装?
由于本人制作绿色软件的需要,需要检测是否安装了某个版本的程序,如我要安装ACCESS2003绿色版,则就必须知道是否系统之前是否安装过OFFICE,如果安装过又是哪个版本?然后根据不同的情况处理:如果没有安装过则可以直接设置绿色软件,如果已经安装过,设置的话就回冲突,那么就先备份注册表的相关项.

这里就提出了一个问题?如何使用批处理根据注册表来检测是否安装了某个程序.检测?这里还是有点难度的,所以建议大家讨论下(本人以前都是使用一个国外的工具叫CHECKV的工具来检测是否安装了指定程序,不过不是命令行版的,所以使用起来很麻烦,要自己提取生成的HTML中的信息.)
第2楼 HUNRYBECKY 发表于 2006-12-19 05:28
银牌会员 发帖 442 积分 1,179
好象没有人回答哟。自己顶一下。
是不是有难度呀。
我自己的思路是这样的,正在写程序,出来后再贴出来。
一般的软件安装后都会在注册表或者硬盘里写一些文件,一般有两种方法可以知道是否安装了某软件。一种方法是看是否改软件在磁盘里写了主程序文件等,但是这个只能判断是否安装了软件但不能判断安装的程序的版本,而且也不是很准确。另一种方法是通过注册表判断,除非是某些小的纯绿色软件,一般的软件安装后会在注册表中写入大量信息,那么可以通过注册表来判断程序是否安装以及其版本好。但是又怎样判断呢?不同程序在注册表中写的东西不同,所以难度还是很大。就OFFICE而言,可以通过HKLM下的OFFICE来判断或是提取HKCR中的INSTALLER中的字符来判断。
第3楼 electronixtar 发表于 2006-12-19 07:33
铂金会员 发帖 2,672 积分 7,493
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office
第4楼 vkill 发表于 2006-12-20 01:29
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
reg query 然后 if
第5楼 qpmgljf 发表于 2007-01-07 05:47
初级用户 发帖 49 积分 125
偶是个这方面的菜鸟,不过也做绿色软件。关于这个问题能不能说清楚一点啊。能不能给段示例啊。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023