您的位置:程序门 -> vb ->



vb调用msde的install.bat文件出错


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb调用msde的install.bat文件出错[已结贴,结贴人:phoenixlf]
发表于:2008-01-18 18:08:01 楼主
由于工作需要,我在程序里调用了msde的安装程序.代码如下:
retval2   =   shellEXECute(me.hwnd,   "open",   app.path   &   "\msde_sp4\数据库安装sp4\install.bat",   vbnullstring,   vbnullstring,   1)
其中shellEXECute我在bas文件里进行了如下声明:
public   declare   function   shellEXECute   lib   "shell32.dll"   alias   "shellEXECutea"   (byval   hwnd   as   long,   byval   lpoperation   as   string,   byval   lpfile   as   string,   byval   lpparameters   as   string,   byval   lpdirectory   as   string,   byval   nshowcmd   as   long)   as   long
在执行程序的时候,弹出一个cmd.exe窗口后提示我:请转到控制面板来安装和配置系统组件.
我用sheel函数来调用的时候也是如此.
但是我用这两个函数来调用其它.bat文件没有什么错误.请问这是如何回事.
我在调用其它的安装文件时候没有出错.这是不是由于msde是ms出的?导致的这么一个错误吗?
发表于:2008-01-18 18:14:081楼 得分:15
install.bat执行路径问题
因为你的install.bat要执行完毕,不止需要install.bat,可能还要同目录下的其实文件
需你调用的时候并没有把install.bat运行时路径定位到install.bat所在的路径
发表于:2008-01-19 01:23:022楼 得分:5
shellEXECute   中不是有個參數是指定當前路徑的麼:byval   lpdirectory   as   string
发表于:2008-01-19 14:05:583楼 得分:0
他设置成空了,没有指定
发表于:2008-01-19 21:30:484楼 得分:0
public   declare   function   shellEXECute   lib   "shell32.dll"   alias   "shellEXECutea"   (byval   hwnd   as   long,   byval   lpoperation   as   string,   byval   lpfile   as   string,   byval   lpparameters   as   string,   byval   lpdirectory   as   string,   byval   nshowcmd   as   long)   as   long  

其中lpoperation是open,lpdirectory   就中路径字符串
发表于:2008-01-19 21:31:245楼 得分:0
lpfile是可执行文件,则这个字串包含传递给执行程序的参数
发表于:2008-01-21 14:33:496楼 得分:0
感谢各位的解答,问题解决了.我直接写成这样的:
shell(app.path   &   "\msde_sp4\数据库安装sp4\setup.exe   sapwd=""13802221802""   securitymode=sql   disablenetworkprotocols=0",   vbnormalfocus)
看起来能执行,当然,我现在就试下把路径给指定下.也是可行的.呵呵   谢谢大家
retval   =   shellEXECute(me.hwnd,   "open",   app.path   &   "\install.bat",   vbnullstring,   app.path   &   "\msde_sp4\数据库安装sp4\",   1)
retval   =   shellEXECute(me.hwnd,   "open",   app.path   &   "\install.bat",   vbnullstring,   app.path   &   "\msde_sp4\数据库安装sp4",   1)
这两个都是可行的.
发表于:2008-01-21 14:52:537楼 得分:0
上面后面两步尝试失败.我没有把原文件给删除.


快速检索

最新资讯
热门点击