一键式安装.Net FrameWork,MSDE,Web安装程序,Windows安装程序,还原数据库文件,注册表导入

何为"一键式安装"? 我的解释就是,运行安装程序的时候,把.Net FrameWork、Sql Server(MSDE)、Web应用程序、其它安装文件、注册表修改、数据库还原等操作一次安装完成,不需要客户做其它任何操作,而且安装过程中不用客户做任何操作,系统自动替代用户操作,比如装.Net FrameWork时候的"许可协议"安装文件正常自动处理.
原理就是用批处理来操作,具体代码如下.
 1 @echo 开始安装,请等待……
 2 " tools/WindowsInstaller "  /quiet /norestart
 3 Goto SetupMsde
 4
 5 :SetupMsde
 6     cd MSDE
 7         Setup
 8     cd..
 9          " tools/sc "  config MSSQLSERVER start  =  auto
10          " tools/sc "  start MSSQLSERVER
11 Goto SetupFrameWork
12
13 :SetupFrameWork
14     cd Framework
15         InStall /Q
16     cd..
17 Goto RegImport
18
19 :RegImport
20     cd tools
21         reg IMPORT IESettings.reg
22     cd..
23 Goto SetupPrograme
24
25 :SetupPrograme
26     cd Web
27         Setup /passive
28     cd..
29     cd WebService
30         Setup /passive
31     cd..
32     cd client
33         Setup /passive
34     cd..
35 Goto Next
36
37 :Next
38     Copy  " tools/DB.bak "   " C:/Program Files "
39     Copy  " tools/restore.sql "   " C:/Program Files "
40     If Not Exist  " c:/GYYJB_DATA/MSSQL "  Goto CreateDataFolder
41 Goto DelBackDataFile
42     
43 :CreateDataFolder
44     C:
45         If not Exist  " c:/GYYJB_DATA "  Goto CreateGYYJB_DATA
46 Goto CreateMSSQL
47         
48 :CreateGYYJB_DATA
49     MD  " C:/GYYJB_DATA "
50 Goto CreateMSSQL
51
52 :CreateMSSQL
53     MD  " C:/GYYJB_DATA/MSSQL "
54 Goto DelBackDataFile
55
56 :DelBackDataFile
57     Del /Q  " c:/GYYJB_DATA/MSSQL "
58 Goto BackDataBase
59
60 :BackDataBase
61     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 RegIISClient
65
66 :RegIISClient
67     c:
68     cd/
69     cd C:/WINNT/Microsoft.NET/Framework/v1 .1.4322
70     aspnet_regiis -c
71     cd/
72     cd C:/WINDOWS/Microsoft.NET/Framework/v1 .1.4322
73     aspnet_regiis -c
74 Goto ExitSetup
75
76 :ExitSetup
77     @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 
        重新注册一下客户端脚本
 下面是我还原数据库用的脚本
 1 use  master        
 2 if   not   exists ( select   *   from  sysdatabases   where  name  =   ' GYYJB ' )
 3      begin  
 4          create   database  GYYJB
 5      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,windows,Web,数据库,database,tools)