急问,MSDE打包问题??

samule_sd 2009-03-09 09:59:42
项目中用到Installsheild2008打包MSDE2000SP4,实现安装过程的MSDE自动安装,数据库加载,用户添加等;但当前在新系统(XP)中第一次安装总是失败,卸载后安装或者注销后修复都可以成功,百思不得其解,不知甚么原因,还请达人相助;
主要程序:
//检查是否安装MSDE service;
if(ServiceGetServiceState(szServiceName, svServiceState) < ISERR_SUCCESS) then
goto InstallMSDE;
endif;
goto StartMSDE;

//安装MSDE;
InstallMSDE:
TARGETDIR ^ "Server" ^"MSDE" ^ "setup.exe";
szCmdLine = "TARGETDIR=\"" + PROGRAMFILES + "\" reboot=ReallySuppress /qn /i";
if(LaunchAppAndWait(szMsde2000 , szCmdLine, LAAW_OPTION_WAIT|LAAW_OPTION_MAXIMIZED) < 0 ) then
MessageBox ("install failed",SEVERE);
endif;

szSQLsvr = "(local)" ^ "Example";
//启动MSDE;
StartMSDE:
szStartServiceArgs = "";
if(ServiceGetServiceState(szServiceName,svServiceState)< ISERR_SUCCESS) then
MessageBox ("获取服务" + szServiceName + "出错", SEVERE);
if (ServiceStartService (szServiceName, szStartServiceArgs) < ISERR_SUCCESS ) then
MessageBox ("启动服务" + szServiceName + "³出错", SEVERE);
//abort;
endif;
else
if(svServiceState != SERVICE_RUNNING) then
if (ServiceStartService (szServiceName, szStartServiceArgs) < ISERR_SUCCESS ) then
MessageBox ("启动服务" + szServiceName + "出错", SEVERE);
//abort;
endif;
endif;
endif;

//分离加载数据库及用户;
szSQLsvr = "(local)" ^ "Example";
szCmdLine = "-U \"sa\" -P \"pwd\" -S "+szSQLsvr+" -Q \"exec sp_detach_db 'TestDB' \"";
if(LaunchAppAndWait("osql.exe ", szCmdLine, LAAW_OPTION_WAIT|LAAW_OPTION_HIDDEN) < 0) then
MessageBox ("Detach failed", SEVERE);
endif;

szCmdLine = "-U \"sa\" -P \"pwd\" -S "+szSQLsvr+" -Q \"exec sp_attach_db 'TestDB','"+TARGETDIR^ "Server" ^ "Data" ^ "TestDB_data.mdf', '"+TARGETDIR^ "Server"^"Data"^"TestDB_log.ldf'\"";
if (LaunchAppAndWait("osql.exe ", szCmdLine, LAAW_OPTION_WAIT|LAAW_OPTION_HIDDEN) < 0) then
MessageBox ("Attach failed", SEVERE);
endif;

szCmdLine = "-U \"sa\" -P \"pwd\" -S "+szSQLsvr+" -i \""+TARGETDIR ^ "Server" ^ "MSDE" ^ "TestDBAddUser.sql \"";
if (LaunchAppAndWait("osql.exe ", szCmdLine, LAAW_OPTION_WAIT|LAAW_OPTION_HIDDEN) < 0) then
MessageBox ("Add User failed", SEVERE);
endif;
...全文
142 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
soft_bird 2010-07-15
  • 打赏
  • 举报
回复
这个问题真他妈罕见啊 不知道怎么解决 冥思苦想啊
bluevox3000 2009-03-17
  • 打赏
  • 举报
回复
我现在同样的痛苦,同样的挠头啊
ai_li7758521 2009-03-16
  • 打赏
  • 举报
回复
支持,等待大牛!
samule_sd 2009-03-16
  • 打赏
  • 举报
回复
无奈之举,加载放在程序运行时实现~~ 再次感谢关注!
ljluck7687 2009-03-12
  • 打赏
  • 举报
回复
很多程序要求运行中重启电脑,重启电脑后继续运行程序(之所以要重启电脑一定有原因)。这样的案例很多
samule_sd 2009-03-12
  • 打赏
  • 举报
回复
那重启后Installsheild可以继续安装麽?:(
ljluck7687 2009-03-11
  • 打赏
  • 举报
回复
MSDE安装完成后是否加一个重启机器的动作,以便加载相关服务?之后再分离/加载数据库
samule_sd 2009-03-09
  • 打赏
  • 举报
回复
没搞定,呵,是不是问的板块不太对?这个应该是SQL打包问题~~~:(
dawugui 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 samule_sd 的回复:]
sorry,刚才可能没说失败处,是在加载//分离加载数据库及用户时出错的,就是自动安装以及启动都是PASS的;再次感谢您的关注~
[/Quote]
加载前的代码中输入下句试试
--sql 2000
use master
go
samule_sd 2009-03-09
  • 打赏
  • 举报
回复
sorry,刚才可能没说失败处,是在加载//分离加载数据库及用户时出错的,就是自动安装以及启动都是PASS的;再次感谢您的关注~
dawugui 2009-03-09
  • 打赏
  • 举报
回复
貌似没法自动安装MSDE,得跳出一界面,由操作人员完成.

数据库加载,用户添加可以写到代码中,第一次启动程序时,自动创建.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧