您的位置:首页 > 编程语言 > VB

关于vb6自带打包工具打包后的安装文件在windows操作系统上安装出现问题的解决方法(部分转载)

2013-10-15 17:50 1096 查看
本人在win7操作系统中,通过vb6自带的打包工具(Package & Deployment Wizard)打包安装文件,在windows xp中安装时出现“Setup cannot continue because some system files are out of date on your system.”的提示,具体见下图



因本人的vb为英文版,中文提示可以自行翻译对照,后在网上搜索过程中发现了相关解决方法。见下帖

转自http://www.xtremevbtalk.com/archive/index.php/t-248653.html

Setup cannot continue because some system files are out of date on your system.

Arsam

12-22-2005, 04:19 PM

I realized that many people, just like myself, were having problems with the Package and Deployment Wizard for VB 6.0 and when trying to install their program on another PC they were getting the following message:

"Setup cannot continue because some system files are out of date on your system. Click OK if you would like setup to update these files for you now. You will need to restart Windows before you can run setup again. Click cancel to exit setup without updating
system files."

Microsoft addresses this issue in their Help and Support (http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q191/0/96.ASP&NoWebContent=1) and proposes 8 solutions.

However, I found out that the problem was coming from the Bootstrap files in the Setup.LST file.

If you open Setup.LST (generated with the wizard) you'll see something like this:

File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,3 25 99 11:00:00 PM,101888,6.0.84.50

File2=@MSVCRT40.DLL,$(WinSysPathSysFile),,,5 30 98 11:00:00 PM,326656,4.21.0.0

File3=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5 30 98 11:00:00 PM,22288,4.71.1460.1

File4=@stdole2.tlb,$(WinSysPathSysFile),$(TLBRegister),,8 23 01 1:00:00 PM,17920,3.50.5014.0

File5=@asycfilt.dll,$(WinSysPathSysFile),,,8 4 04 8:56:41 AM,65024,5.1.2600.2180

File6=@olepro32.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,8 4 04 8:56:44 AM,83456,5.1.2600.2180

File7=@oleaut32.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,8 4 04 8:56:44 AM,553472,5.1.2600.2180

File8=@msvbvm60.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,8 4 04 8:56:43 AM,1392671,6.0.96.90

Files 1 through 3 are needed to run your VB 6.0 program, but Files 4 through 8 were the ones that were "out of date" and caused the error. Since the host PC will most certainly have these files, there is no need for your program to install them (or even update
them). So you can just insert a colon ";" in front of the lines for File 4 through 8 for the installation to ignore these commands.

So open your Setup.LST and change it like this:

[Bootstrap Files]

File1=@VB6STKIT.DLL,$(WinSysPathSysFile),,,3 25 99 11:00:00 PM,101888,6.0.84.50

File2=@MSVCRT40.DLL,$(WinSysPathSysFile),,,5 30 98 11:00:00 PM,326656,4.21.0.0

File3=@COMCAT.DLL,$(WinSysPathSysFile),$(DLLSelfRegister),,5 30 98 11:00:00 PM,22288,4.71.1460.1

;File4=@stdole2.tlb,$(WinSysPathSysFile),$(TLBRegister),,8 23 01 1:00:00 PM,17920,3.50.5014.0

;File5=@asycfilt.dll,$(WinSysPathSysFile),,,8 4 04 8:56:41 AM,65024,5.1.2600.2180

;File6=@olepro32.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,8 4 04 8:56:44 AM,83456,5.1.2600.2180

;File7=@oleaut32.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,8 4 04 8:56:44 AM,553472,5.1.2600.2180

;File8=@msvbvm60.dll,$(WinSysPathSysFile),$(DLLSelfRegister),,8 4 04 8:56:43 AM,1392671,6.0.96.90

Save it, close it, and try installing your program again.

[B]Note: You may have other DLL files than those listed above, so you have to make sure which ones are the one out of date.

Hope this helps some of you out there.

根据上面的贴子所说,安装出现问题,主要是vb6打包中的安装文件与目标系统中的文件版本冲突导致。主要冲突文件为[Bootstrap Files]项中的从File4(@stdole2.tlb)到File8(@msvbvm60.dll)这4个文件,在安装时可选择用";"符号来忽略某个引起冲突的文件的安装即可。针对这几个文件,本人做了相关的查找,只在vb6的安装路径下找到这个文件“oleaut32.dll”,好像也只有这个文件在不同系统中存在版本冲突问题。具体见下图



安装的目标操作系统应该可以通过在打包时选择不同操作系统(文件夹名称)的文件“oleaut32.dll”来进行打包(需要将文件“oleaut32.dll”拷贝到当前路径下再进行打包),也可以在与目标操作系统相同的环境中进行打包,有兴趣的朋友可以自己试一下。

上面说了因版本冲突可以通过忽略文件的方式进行安装。但在实际安装过程中有时候未必是上面帖子提到的[Bootstrap Files]项中的几个文件引起的,也有可能是其他文件引起的,本人安装包的问题就是因为其他文件("msimg32.dll")的版本冲突引起,具体见下图



出现该问题只需要用";"符号忽略该文件即可。

编辑SETUP.LST文件将文件中的

[Setup1 Files]项中的

File19=@msimg32.dll,$(WinSysPath),,$(Shared),7/14/09 9:15:44 AM,4608,6.1.7600.16385

File20=@GIF89.DLL,$(WinSysPath),$(DLLSelfRegister),$(Shared),6/25/08 4:29:06 PM,44544,1.1.0.1

改为

;File19=@msimg32.dll,$(WinSysPath),,$(Shared),7/14/09 9:15:44 AM,4608,6.1.7600.16385

File19=@GIF89.DLL,$(WinSysPath),$(DLLSelfRegister),$(Shared),6/25/08 4:29:06 PM,44544,1.1.0.1

即可。

保存文件后,尝试重新安装,如出现其他文件的版本问题,按上面方式操作即可。

目前本人通过该方式解决了安装包在不同操作系统上安装出现版本冲突的问题。仅仅作为记录,以方便以后查找。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐