以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]检测环境  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73553)

--  作者:blsu33
--  发布时间:2015/8/21 11:48:00
--  [求助]检测环境
红袍老师,
    希望安装软件前,进行一个系统的检测:

检测系统是否安装了net framework
检测系统是否安装了sql
检测系统是否为XP系统 
这个怎么弄



--  作者:baicaocao
--  发布时间:2015/8/21 11:57:00
--  
有,事一个批处理文件。亲,我发一下。
ver | find "5.1." > NUL &&  goto win_xp       
ver | find "6.0." > NUL &&  goto vista   
ver | find "6.1." > NUL &&  goto win7    
ver | find "6.2." > NUL &&  goto win8 
:win_xp
set INS45="WindowsXP-KB942288-v3-x86.exe" 
IF not EXIST %INS45% (
echo 正在安装 Windows Installer4.5...
wget -c http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe
)
%INS45% /quiet /norestart /nobackup /passive
IF NOT EXIST "%WINDIR%\\Microsoft.NET\\Framework\\v2.*" (
set net20 = "NetFx20SP2_x86.exe"
set hnet = "http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe"
IF NOT EXIST "NetFx20SP2_x86.exe" (
echo 正在下载 .net20... 
wget -c http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe
)
echo 正在安装 .net20...
NetFx20SP2_x86.exe /quiet norestart
)
goto STARTSETUP
:win7
:STARTSETUP

echo 环境已经全部安装完成.点击安装软件.
setup.exe

--  作者:大红袍
--  发布时间:2015/8/21 11:58:00
--  

.net 版本

 

Dim fn As String = Filesys.GetParentPath(SpecialFolder.System) & "\\Microsoft.NET\\Framework"
If FileSys.DirectoryExists(fn) Then
    For Each dir As String In FileSys.GetDirectories(fn)
        output.show(filesys.GetName(dir))
    Next

Else

    msgbox("没有安装")
End If


--  作者:大红袍
--  发布时间:2015/8/21 12:04:00
--  

sqlserver

 

Dim instance As System.Data.Sql.SqlDataSourceEnumerator = System.Data.Sql.SqlDataSourceEnumerator.Instance
Dim DataTable As System.Data.DataTable = instance.GetDataSources()
If DataTable.Rows.Count = 0 Then
    msgbox("没有检测到sqlserver")
Else
    For Each Row As data.DataRow In DataTable.Rows
        output.show(Row("ServerName"))
    Next
End If


--  作者:大红袍
--  发布时间:2015/8/21 12:11:00
--  

系统版本

 

msgbox(System.Environment.OSVersion.VersionString)

 

Microsoft Windows NT 3.1 (1993-2000) 
Microsoft Windows NT 3.5 (1994-1995)
Microsoft Windows NT 3.51 (1995-2001)
Microsoft Windows NT 4.0 (1996-2007)
Microsoft Windows 2000 (Windows NT 5.0) (1999) (2000-2010)
Microsoft Windows XP (Windows NT 5.1) (2001-2014)
Microsoft Windows Server 2003 (Windows NT 5.2) (2003-2015)
Microsoft Windows Server 2003 R2 (Windows NT 5.2) (2006-2015)
Microsoft Windows Vista (Windows NT 6.0) (2006-2017)
Microsoft Windows Server 2008 (Windows NT 6.0) (2008-2018)
Microsoft Windows 7 (Windows NT 6.1) (2009-2020)
Microsoft Windows Server 2008 R2 (Windows NT 6.1) (2009-2018)
Microsoft Windows 8 (Windows NT 6.2) (2012-2023)
Microsoft Windows Server 2012(Windows NT 6.2) (2012-2023)
Microsoft Windows Phone 8 (Windows NT 6.2) (2012-2014)
Microsoft Windows 8.1 (Windows NT 6.3) (2013-2023)
Microsoft Windows Server 2012 R2 (Windows NT 6.3) (2013-2023)

--  作者:blsu33
--  发布时间:2015/8/21 13:21:00
--  
多谢二位
--  作者:blsu33
--  发布时间:2015/8/21 13:41:00
--  
红袍老师,
这些命令都是狐表的,而安装系统是自动打包的,他是在狐表的系统安装前就判断;
用狐表做一个安装界面,用狐表命令去判断,然后在调用安装程序是吗?


--  作者:大红袍
--  发布时间:2015/8/21 14:09:00
--  

 制作安装程序的时候,是无法检测你那些东西。

 

 检测你可以在foxtable里面检测,不满足就不打开项目。


--  作者:blsu33
--  发布时间:2015/8/21 14:17:00
--  
哦 明白了   谢谢老师

--  作者:baicaocao
--  发布时间:2015/8/21 14:21:00
--  
ver | find "5.1." > NUL &&  goto win_xp       
ver | find "6.0." > NUL &&  goto vista   
ver | find "6.1." > NUL &&  goto win7    
ver | find "6.2." > NUL &&  goto win8 
:win_xp
set INS45="WindowsXP-KB942288-v3-x86.exe" 
IF not EXIST %INS45% (
echo 正在安装 Windows Installer4.5...
wget -c http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe
)
%INS45% /quiet /norestart /nobackup /passive
IF NOT EXIST "%WINDIR%\\Microsoft.NET\\Framework\\v2.*" (
set net20 = "NetFx20SP2_x86.exe"
set hnet = "http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe"
IF NOT EXIST "NetFx20SP2_x86.exe" (
echo 正在下载 .net20... 
wget -c http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe
)
echo 正在安装 .net20...
NetFx20SP2_x86.exe /quiet norestart
)
goto STARTSETUP
:win7
:STARTSETUP
set SQL2005="SQLEXPR_CHS.EXE"
IF NOT EXIST %SQL2005% (
echo 正在下载 .sqlexpr2005...
wget -c http://download.microsoft.com/download/0/9/0/09020fab-d2c3-4a8c-b9e0-db53a7a30ae8/SQLEXPR_CHS.EXE
)
echo 正在安装 SQLserver 2005 Express... 
SQLEXPR_CHS.EXE /qb INSTANCENAME="MSSQLSERVER" ADDLOCAL=All SECURITYMODE=SQL SAPWD="1221wx" INSTALLSQLDIR="D:\\MSSQL" INSTALLSQLDATADIR="D:\\MSSQL\\DATA" SQLAUTOSTART=1 DISABLENETWORKPROTOCOLS=0
echo 环境已经全部安装完成.点击安装软件.
setup.exe