分享
 
 
 

MSDE自动安装使用方法

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

MSDE自动安装使用方法

一、 制作自动安装的SQL

已制作完成,程序放在:

\\工程项目\安装盘制作\MSDE

说明:自动安装目的是在MSDE安装程序执行时不出现画面,并且自动按配置好的步骤安装;

自动配置文件UNATTEND.ISS的制作方法:

用SQL SERVER安装程序开始安装,选择“高级选项”,再选择“无人值守”,接下来为安装所做的选择和配置均被存入c:\windows\SETUP.ISS文件中,该文件就是上面提到的UNATTEND.ISS。

制作为无人值守文件后,执行其中的SETUP.bat文件就能自动安装SQL。只要能在我们应用程序的安装盘中有办法自动执行该文件中的内容即可自动安装SQL。

二、 修改SETUP1.exe

为了VB工程打包后,安装程序除了正常执行应用程序的安装功能外,另外再自动执行我们制作的无人值守SQL安装程序,须修改VB的打包工具。修改方法如下:

A、打开c:\program files\Microsoft visual studio\vb98\wizards\pdwizard\setup1目录下的setup1工程

B、 在basesetup1模块中的exitsetup过程找到以下语句:

Case intExitCod

………

Case Else

C、在Case Else前增加调动SQL自动安装的语句

D、编译成EXE文件

E、 将编译好的EXE文件复制到上级目录:

c:\program files\Microsoft visual studio\vb98\wizards\pdwizard

目前已编译好的程序放在

\\CHANCE-SERVER\工程项目\安装盘制作\SETUP1

三、 制作数据库文件

因本MSDE是基本SQL SEREVER7的,故须有SQL SERVER7下将应用程序所用的数据库备份成一个文件名(如:DBBACK)。

四、 打包

A、工程打印包时,须将SQL的自动安装程序(msde86.exe、unattend.iss)打到包内,打包时指定该2程序的解压路径为:

$(WinSysPath)

B、将制作的数据库备份文件(DBBACK)也打到包内,打包时指定该文件的解压路径为:

$(AppPath)

C、将应用程序的配置文件、使用说明书等同时打到包内,打包时指定该文件的解压路径为:

$(AppPath)

五、 安装

应用程序安装时,执行完标准的安装步骤后,会提问:

是否安装数据库?

若选择“是”则自动安装SQL(对已有SQL SERVER的机器千万不要安装)。

说明:有时制作的安装程序在Windows2000下安装时,复制完8个初始化程序后,提示“程序过时”要求重新启动再安装。但重新启动后还是同样的问题,无法安装。此时修改安装包中的SETUP.lst文件,在:

(WinSysPath),,$(Shared),10/2/00]File3=@VB6CHS.DLL,$(WinSysPath),,$(Shared),10/2/00

前增加 REM ,这样重新安装时,只复制前2个文件,安装程序能顺利执行。

六、 运行程序

程序安装后,应用程序所须的数据库并未被装入SQL SERVER。应在我们编写的VB的应用程序中增加自动向SQL SERVER添加数据库的功能。

实现方法:每次启动应用程序时,判断SQL SERVER数据库中是否存在我们要的数据库,若无则执行下以操作:

1、 将备份文件复制到MASTER数据库对应的目录下;

2、 使用数据恢复命令将MASTER目录下的备份文件恢复到指定的数据库名中。

程序清单见下页:

===============本函数须在连接数据库前使用================

===============须在工程中应用SQLDMO================

Public Function sCopyMDF(sSvrName As String, sDBName As String, sUID As String, sPWD As String, sMDFName As String) As String

参数说明: sSvrName:服务器名

sDBName :数据库名

sUID :用户名

sPWD :密码,

sMDFName :数据库备份文件名

Dim Fso As Scripting.FileSystemObject

Dim strMessage As String

Dim db As Variant

Dim fDataBaseFlag As Boolean

Dim X, Osvr

On Error Resume Next

sCopyMDF = ""

fDataBaseFlag = False

Set Fso = CreateObject("Scripting.FileSystemObject")

Set Osvr = CreateObject("SQLDMO.SQLServer")

Osvr.Connect sSvrName, sUID, sPWD

Osvr.Start True, sSvrName, sUID, sPWD

X = Osvr.Databases.Count '如果失败,DMO 需要进行初始化

'通过在本地 MSDE 服务器上循环检查所有数据库名称,

'检查 DemoDatabase 是否存在于该服务器。

For Each db In Osvr.Databases

If db.Name = sDBName Then '该数据库存在

fDataBaseFlag = True

Exit For '退出循环

End If

Next

If Not fDataBaseFlag Then '不存在名为 DemoDatabase 的数据库

Dim oRestore As New SQLDMO.Restore

oRestore.Action = SQLDMORestore_Database

oRestore.Database = sDBName

Fso.CopyFile App.Path & "\" & sMDFName, _

Osvr.Databases("master").PrimaryFilePath & sMDFName, True

oRestore.Files = Osvr.Databases("master").PrimaryFilePath & sMDFName

oRestore.ReplaceDatabase = True

‘判断有否”C:\mssql7\Data\”目录,没有则要先建此目录

oRestore.SQLRestore Osvr

Else

sCopyMDF = sMDFName & " 退出 MSDE 服务器"

End If

ExitCopyMDF:

Osvr.Disconnect

Set Osvr = Nothing

Exit Function

sCopyMDFTrap:

If err.Number = -2147216399 Then 'DMO 需进行初始化

Resume Next

Else

sCopyMDF = err.Description

End If

Resume ExitCopyMDF

Exit Function

End Function

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有