原理就是用批处理来操作,具体代码如下.
@echo 开始安装,请等待……2
"
tools/WindowsInstaller
"
/quiet /norestart3
Goto SetupMsde4

5
:SetupMsde6
cd MSDE7
Setup8
cd..9
"
tools/sc
"
config MSSQLSERVER start
=
auto10
"
tools/sc
"
start MSSQLSERVER11
Goto SetupFrameWork12

13
:SetupFrameWork14
cd Framework15
InStall /Q16
cd..17
Goto RegImport18

19
:RegImport20
cd tools21
reg IMPORT IESettings.reg22
cd..23
Goto SetupPrograme24

25
:SetupPrograme26
cd Web27
Setup /passive28
cd..29
cd WebService30
Setup /passive31
cd..32
cd client33
Setup /passive34
cd..35
Goto Next36

37
:Next38
Copy
"
tools/DB.bak
"
"
C:/Program Files
"
39
Copy
"
tools/restore.sql
"
"
C:/Program Files
"
40
If Not Exist
"
c:/GYYJB_DATA/MSSQL
"
Goto CreateDataFolder41
Goto DelBackDataFile42
43
:CreateDataFolder44
C:45
If not Exist
"
c:/GYYJB_DATA
"
Goto CreateGYYJB_DATA46
Goto CreateMSSQL47
48
:CreateGYYJB_DATA49
MD
"
C:/GYYJB_DATA
"
50
Goto CreateMSSQL51

52
:CreateMSSQL53
MD
"
C:/GYYJB_DATA/MSSQL
"
54
Goto DelBackDataFile55

56
:DelBackDataFile57
Del /Q
"
c:/GYYJB_DATA/MSSQL
"
58
Goto BackDataBase59

60
:BackDataBase61
osql.exe /Usa /PGYYJB /dmaster /i
"
C:/Program Files/restore.sql
"
62
del
"
C:/Program Files/DB.BAK
"
63
DEL
"
C:/Program Files/restore.sql
"
64
Goto RegIISClient65

66
:RegIISClient67
c:68
cd/69
cd C:/WINNT/Microsoft.NET/Framework/v1
.1.4322
70
aspnet_regiis -c71
cd/72
cd C:/WINDOWS/Microsoft.NET/Framework/v1
.1.4322
73
aspnet_regiis -c74
Goto ExitSetup75

76
:ExitSetup77
@echo 安装成功,感谢您使用远程教育管理系统78
解释如下:
1、"tools/WindowsInstaller"
"tools"是我建立的一个工具夹文件,目的是在不能自动更新的Windows 2000系统上安装也能正常运行.
2、"tools/WindowsInstaller" /quiet /norestart.
在Tools文件夹下可以找到WindowsInstaller3.1.Exe这个可执行文件, /quiet 参数表示静态安装,/norestart表示安装完毕后系统不重启.
3、 cd MSDE Setup cd..
进入MSDE安装文件夹里面安装数据库文件
4、"tools/sc" config MSSQLSERVER start = auto
"tools/sc" start MSSQLSERVER
还是去"tools"这里找到sc.exe, 首先设置 MSSQLSERVER的配置文件为自动启动,然后马上启动起来 MSSQLSERVER 服务,目的是以后好还原数据库文件.
5、cd Framework InStall /Q cd..
进入.Net FrameWork文件夹安装.Net FrameWork,InStall为解压后的主安装文件,/Q参数表示静态安装,不需客户参与.
6、cd tools reg IMPORT IESettings.reg cd..
还是去"tools"这里找到reg.exe, 将IESettings.reg 这个注册表导出文件导进当前安装的计算机注册表里面.
7、cd Web Setup /passive cd..
安装Web安装程序,参数 /passive 表示静态安装,不需客户参与.
8、If Not Exist "c:/GYYJB_DATA/MSSQL" Goto CreateDataFolder
这是数据库要恢复到的文件,不存在就创建,存在则恢复数据库.
9、osql.exe /Usa /PGYYJB /dmaster /i "C:/Program Files/restore.sql"
利用命令行工具 osql.exe 还原数据库.参数/Usa:用户名sa,/PGYYJB :密码GYYJB
参数"C:/Program Files/restore.sql" :还原数据库的Sql脚本.
10、cd C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322 aspnet_regiis -c
重新注册一下客户端脚本
下面是我还原数据库用的脚本
use
master 2
if
not
exists
(
select
*
from
sysdatabases
where
name
=
'
GYYJB
'
)3
begin
4
create
database
GYYJB5
end
6
if
exists
(
select
*
from
sysdevices
where
name
=
'
DBdisk
'
)7
begin
8
exec
sp_dropdevice
'
DBdisk
'
9
end
10
else
11
begin
12
exec
sp_addumpdevice
'
disk
'
,
'
DBdisk
'
,
'
DB.bak
'
13
end
14
restore
database
GYYJB
from
disk
=
'
C:/Program Files/DB.bak
'
15
with
move
'
GYYJB_Data
'
to
'
c:/GYYJB_DATA/MSSQL/GYYJB_Data.mdf
'
,16
move
'
GYYJB_Log
'
to
'
c:/GYYJB_DATA/MSSQL/GYYJB_Log.Ldf
'
17
其它说明
1、WindowsInstaller.Exe作用,未联网的Windows 2000用户的WindowsInstaller的版本应该是3.0以下,所以不支持上面写的几个安装参数,所以安装此文件更新到3.1.
2、Sc.exe作用,Sql Serser服务管理.Windows 2000 默认不安装此程序,在Windows 2000随机安装盘可以找到.XP,Windows 2003自带.
3、Reg.exe作用,注册表服务管理.Windows 2000 默认不安装此程序,在Windows 2000随机安装盘可以找到.XP,Windows 2003自带.
4、aspnet_regiis -c 当系统先装.Net FrameWork后装IIS时,缺少验证脚本等,重注册一下就可以.
5、到网上找个BAT编译成EXE文件的工具,如BATfoEXE,就可以做成一个漂亮的安装引导文件.
6、这时你可以看到一个基于命令行窗口安装程序,如果你想要一个有Windows窗体的安装程序怎么办呢?到网上随便找一个MSI制作工具就OK了.,例如InstallShield 等等
7、MSDE先安装,数据库文件后还原的问题.安装完数据库后,启动数据库服务(异步过程),需要几秒的时间,所以将数据库还原放到最后面.
8、删除数据库文件的问题,安装过程中如果原来还原的数据库文件存在,则新还原数据库操作,只创建数据库文件,并不能覆盖还原数据库文件,所以需要删除原来的数据库文件.
和手动装.Net FrameWork,MSSQL,Other,一样,出错了就重新装载其中一个,而现在你就要重新运行这个打包后的安装程序.安装过程中比如.Net FrameWork,Web应用程序会自动采用"修复"的,所以出错了问题不是很大,而且保持住了速度.

本文介绍了一种一键式安装方案,该方案能够实现包括.NetFrameWork、MSDE、Web应用程序及其它组件在内的全自动安装流程,无需用户干预。文章详细阐述了通过批处理脚本实现这一流程的具体步骤,并附带了解释和注意事项。


被折叠的 条评论
为什么被折叠?



