标题: [其他] [已解]请问如何用批处理判断是否已经安装有IE8、SQL Server 2005 [打印本页]
作者: starhe7 时间: 2012-5-31 20:56 标题: [已解]请问如何用批处理判断是否已经安装有IE8、SQL Server 2005
本帖最后由 pcl_test 于 2017-1-6 04:42 编辑
最近用批处理做一个用于安装IE8、SQL2005等合集的小工具,帮助自动安装。
对纯净的电脑已经OK了,但是如果已经安装有上述软件,目前还是继续安装,会导致一些安装错误出现。
所以想要请教下如果判断当前系统是否已经安装有IE8、SQL2005了呢?
有个帖子是如何判断是否安装有VC2005运行库的,实在是看不懂
http://www.bathome.net/thread-7298-1-1.html
这是目前的代码:
@echo 正在进行第4步(共6步):安装【SQL2005 系统支持】,请等待....
@echo 该步骤时间可能会持续10分钟左右,请耐心等待....
start /wait %~dp004.SQL2005/SQLEXPR32_CHS_X86.EXE /qb INSTANCENAME="MSSQL2005" ADDLOCAL=SQL_Engine,Client_Components,Connectivity, SECURITYMODE=SQL SAPWD="1" INSTALLSQLDIR="D:\Program Files\Microsoft SQL Server" INSTALLSQLDATADIR="D:\Program Files\Microsoft SQL Server\DATA" SQLAUTOSTART=1
@echo 正在进行第4步(共6步):安装【SQL2005 管理工具】,请等待....
start /wait %~dp004.SQL2005/SQLServer2005_SSMSEE_X86.msi /passive
@echo 正在进行最后一步(共6步):安装【IE8.0】,请等待....
@echo 【请注意】,本步骤结束后,系统将会提示重启,请在安装结束前保存好已打开的文件....
start /wait %~dp006.IE8/IE8-WindowsXP-x86-CHS.exe /passive /update-no /norestart
作者: gawk 时间: 2012-5-31 22:54
通过注册表键值来判断可以吗?
作者: starhe7 时间: 2012-6-1 08:57
是啊,想来想去就只有通过注册表里面的键值来判断,但是一是不知道键值在哪儿,二是不知道批处理语法如何写
作者: starhe7 时间: 2012-6-1 10:58
[问题已解决问题。
参照了“批处理精确判断统是否已经安装了VC++ 2005或VC++ 2008”这篇文章:http://www.bathome.net/thread-7298-1-1.html- @echo off
-
- ::::: 通过注册表卸载键值判断系统是否已经安装了IE8
- reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ie8>nul 2>nul&&set ie8=IE 8.0
-
- :::::判断,跳转
- if defined ie8 (goto not_ie8install) else (goto ie8Install)
-
- :::::安装
- :ie8Install
-
- Cls
- @echo. && @echo 安装IE8,请等待....
- @echo 【请注意】,本步骤结束后,请按提示输入9重启电脑,重启前保存好已打开的文件....
- start /wait %~dp006.IE8/IE8-WindowsXP-x86-CHS.exe
- @echo. && @echo 8.IE8已安装完成,按任意键退出
- pause
- exit
-
- :::::不安装
- :not_ie8install
-
- @echo.IE8.0系统已安装,不需要再次安装,按任意键退出
- pause
- exit
复制代码
其实类似的几乎所有程序都可以用这个办法来判断,只要知道相应程序的注册表卸载键值HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall下面的在哪儿即可,普通程序可以很容易就看出是哪个,还有的是用数字+字母来表示的,如果不知道,可能就要用注册表快照工具,来进行安装前后对比了。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |