软件注册站
热情软件屋

 
安装程序如何复制正在使用的文件
编号: QA002267    
建立日期: 1999年12月16日 最后修改日期: 1999年12月16日
所属类别: Visual Basic - 制作安装程序
   
    使用软件:VB6.0 问题:安装发行
    我使用 VB6.0 编写软件,发行使用的是第三方的安装制作程序。在安装过程中,程序提示有一些要复制的文件正在使用,只好放弃复制该文件。在VB6.0自带的安装工具中,它首先会复制一些所谓的运行文件,当这些文件比较旧时,要求重新启动机器。但一般的第三方的安装制作程序都不提供该功能,并且它们提供的文件选项只有在何种条件下overwrite之类的选项,并未提到当文件正在使用时该如何去overwrite,一般只有放弃覆盖。在VB6.0自带的安装制作程序中是使用重新启动的方法来实现,我估计是在某一系统文件中加入一些语句,使系统重新启动时在加载这些文件之前先进行复制,就不会出现这种问题了。
    我的问题是如何在第三方的安装制作程序中实现更新系统正在使用的文件,比如我目前使用的:Wise installtion system 6.0(汉化版)。
    另外,我不使用VB6.0自带的安装制作程序的原因是:
    1.VB6.0自带的安装制作程序在老版本win95上无法启动,提示:输出到oleaut32.dll时失败。
    2.我的VB6.0自带的安装制作程序无法制作软盘安装发行程序,制作同样的文件,使用一样的选项,做成单个文件发行时没有任何问题,制作软盘发行时有两个问题。
    1)在win98上安装,到最后“更新系统设置”时,会出现“非法操作”,导致安装无法进行完。
    2)在winnt上安装,安装程序在安装完第一张盘后,提示找不到第二张盘。
    我在使用VB6.0编程时,到最后进行发行时总是会遇到类似的问题,所以现在我制作发行程序都是找出软件使用的所有动态链接库和控件,再制作程序一起安装过去。但还是遇到了上述问题,望指点,谢谢!(pengye)
   
    在Wise Install中提供了复制正在使用的文件的功能。我没有Wise 6,但在Wise 5中,可以在全局选项中选择Replace in-use file选项,我相信Wise 6也有类似选项。选择了这个选项,安装程序如果遇到要更新系统DLL时会在安装完成后提示重新启动,然后在重新启动时更新系统DLL。
    在QA001027 "能否解锁被Windows锁定的文件"可以找到有关技术细节的说明。

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 制作安装程序, setup, installshield, wise install

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

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