热情软件屋

 

访问ActiveX Document,总是问是否下载


编号:QA002644
建立日期: 2000年2月28日 最后修改日期:2000年2月28日
所属类别:

于波:
    操作系统:Win98
    编程工具:Vb5
    问题:环境: 中文VB5 企业版
     中文 WIN98 4.10.1998
     服务器端和客户端均采用WIN98,DCOM98 4.71.1015.0
     Frontpage express(带Personal Web Server,web server 名为Frank)
    问题:我在VB5中学习使用Activex Document创建Internet程序(涉及远程自动化服务器,当用户访问应用程序时,Remote Automation服务器通过日志文件收集信息),在本机运行良好。但用VB制作了安装盘之后,我将安装盘目录下的全部文件带目录拷贝到\Interpub\wwwroot下,从客户端打开\frank\mortgage.HTM,总提示"您已选择从该位置下载文件。Mort.VBD来自frank。 如何处理该文件在文件的当前位置打开或将该文件保存到磁盘"后提示打开方式,选择IE"确定"后该提示仍然出现。取消后文档空白。而如果手工注册了Mortgage.dll,又会提示\Win98\Temporary Internet Files\kmyn5f89\mort(1).vbd拒绝使用的信息。经查,在win98\Temporary Internet Files下形成"?CodeDownLoadErrorLog!name={E5F9FAC7-E84C-11D3-AD37-0080C88D5909}.htm",错误提示如下:
     *** Code Download Log entry (21 Apr 1999 @ 11:18:38) ***
     Code Download Error: (hr = 8007007e) 找不到指定的模块。
     Operation failed. Detailed Information: CodeBase: http://frank/mortgage.CAB
     CLSID: {E5F9FAC7-E84C-11D3-AD37-0080C88D5909} Extension: (null)
     Type: (null)LOG: Item MORTGAGE.DLL being processed.
     --- Detailed Error Log Follows ---LOG: Item MORTGAGE.DLL being processed.
     LOG: Item CLIREG32.EXE being processed.
     LOG: URL Download Complete: hrStatus:0, hrOSB:0, hrResponseHdr:8007007e, URL:(http://frank/MSRACli.cab)
     ERR: INF Processing: Failed (80004004) processing: RemoteReg1
     . Cannot get primary/default language!LOG: URL Download Complete: hrStatus:0,

回答:

    我可能已经找到了答案。
    实际上是,该错误信息已经提示了,由于处理Mortgage.cab时出现问题,导致mortgage.dll并没有下载到本机,按未注册处理了,为什么呢?
    VB形成的安装盘中缺少一个次级包。打开mortgage.cab里的mortgage.inf查看,发现缺少MSRACli.cab包,其中的文件应该是CLIREG32.EXE和Msracli.inf。随按照Remotereg.inf文件格式编写了msracli.inf
    
    [version]
    signature="$CHICAGO$"
    AdvancedINF=2.0
    
    [DefaultInstall]
    CopyFiles=install.files
    
    [DestinationDirs]
    install.files=11
    
    [SourceDisksNames]
    1="default",,1
    
    [install.files]
    CLIREG32.EXE=CLIREG32.EXE
    
    [CLIREG32.EXE]
    file-win32-x86=thiscab
    
    再在\VB\setupkit\kitfil32目录找到Makecab.exe程序进行打包。
    注意:如使用它一次对多个文件打包,先要写一个包含打包文件的文本文件,然后在命令行执行 Makecab /F dir.txt,系统将在当前目录下形成一个子目录和setup*.*共两个文件。将该目录下的CAB文件改名为Msracli.cab即可。
    而如果手工注册了Mortgage.dll,又会提示“对指定设备、路径或文件的访问被拒绝”,\Win98\Temporary Internet Files\kmyn5f89\mort(1).vbd拒绝使用的信息。这实际为编译的Mortgage.dll在作怪,可以执行Regsvr32.exe /u c:\source\mortgage.dll将该文件反注册,然后删除\WIN98\下的WEB下载的临时文件。然后在IE中FRANK\MORTGAGE.HTM,系统将下载这三个包和Mortgage.htm和Mort.vbd文件在临时目录下,对应的Mortgage.mort则会被安装在\WIN98\DOWNLOADED PROGRAM FILES下并注册。

此问题由于波回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio