如何打包msde,并在安装过程中自动安装msde,并且自动附加数据库(50分)

  • 主题发起人 主题发起人 happyfly051
  • 开始时间 开始时间
H

happyfly051

Unregistered / Unconfirmed
GUEST, unregistred user!
如何打包msde,并在安装过程中自动安装msde,并且自动附加数据库?请高手指点,分不多了,就剩这些了
 
经过3天的努力,终于把这个问题解决了,一下是我自己总结的解决方案

打包并附加数据库解决方案

一。打包msde
1.解压msde2000
2.将解压后的文件全部打包到安装程序中
3.在wise脚步中插入执行语句。在执行程序设置中:执行程序路径: %MAINDIR%/hello/msde/setup.exe
命令行:sapwd="sa" securitymode=SQL disablenetworkprotocols=0(脚本的位置需要自己定位)
4.这样制作好的安装包在执行安装后会自动安装msde

二。附加数据库
1.在程序执行时判断在C:/Program Files/Microsoft SQL Server/MSSQL/Data目录下是否有我们要附加的数据库文件,即db_Data.MDF和db_Log.LDF
2.如果没有则把两个文件复制到上述目录中
3.复制完成后调用dos命令执行附加数据库的语句winexec(PChar('D:/My.bat'),sw_show); My.bat文件中的内容为osql -S 57c65a1f316b491 -U sa -P sa -i "D:/active.sql"
active.sql是我们要写的SQL脚本,用来附加数据库,内容为Exec sp_attach_db @dbname = N'web', @fileName1=N'C:/Program Files/Microsoft SQL Server/MSSQL/Data/web_Data.MDF', @filename2=N'C:/Program Files/Microsoft SQL Server/MSSQL/Data/web_Log.LDF'
这就是为什么我们要把数据库文件放到上述目录中的原因
4.附加数据库完成
 
不知楼主是怎么判断MSDE是否安装完成的,只有MSDE安装完成后才能附加数据库的吧

我没有打包MSDE,是用程序在命令行指定参数调用的MSDE安装。但若实时监控MSDE安装的话,有的操作系统不能完成MSDE安装
 
to wfymgj:
首先声明下,我是个delphi菜鸟,刚学不久,嘿嘿,你说的对,我不知道怎么实时监控msde的安装,是我们经理要求我们必须把msde打包进去,其实msde手动安装就是在命令行下指定参数安装,我在wise里其实也是那样做的,也是指定参数哈,无非就是把msde那些安装文件解压到相应目录下,然后执行命令行,且指定参数,呵呵,我问的别人才知道的。
问个问题哈,实时监控msde安装怎么弄啊?谢谢了
 
好久没用wise了

inno setup调用外部程序(msde setup.exe)时有个参数,可以等待调用执行完成后继续。。。


ps. 安装程序把msde打包进去太大了吧。。。如果程序升级快的话,每次花在打包的时间都去得多了。 还不如做个安装界面。。。一个功能安装msde,一个功能安装程序:)
 
to CoolSlob:
嗯,谢谢,你的想法挺好的,我这个程序基本是不需要升级的,最近调试的时候也发现了wfymqj的问题,就是有时候msde安装不上,我得装第二次的时候才能装上,不知道这是为什么?
 
我发现我的方法有很多弊端,一个安装程序太大了,二是msde有时候第一次安装不成功,只能第二次才行,哪位大侠有更好的方法,不妨说一下哈,谢谢了
 
to hapyfly051
我是用Delphi写的安装程序,在安装时用WinExecAndWait32函数监控,不过当时测试的时候好像是在某些系统上安装不成功
如果不用WinExecAndWait32而直接在命令行安装的话,我目前在客户上安装好像都是成功的

to CoolSlob
你说的inno setup的方法,我有时间会去试下,谢谢提供
 
多人接受答案了。
 
后退
顶部