:activex生成的cab包,第一次可以下载安装,但以后就没法更新了,咋回事啊
求救:activex生成的cab包,第一次可以下载安装,但以后就没法更新了,怎么回事啊???
因为项目要求将activex跟一些dll和子目录一起打包并下载到c盘的固定目录下,所以我用了比较复杂的方式:
1.这是我的inf文件中的内容:
[version]
signature= "$CHICAGO$ "
AdvancedINF=2.0
[DefaultInstall]
CopyFiles=InstallFilesSection,InstallInfSection
RegisterOCXs=RegisterOCXSection
[DefaultUninstall]
cleanup=1
Delfiles=acitveCab.ocx
UnRegisterOCXs=UnRegisterOCXSection
[RegisterOCXSection]
"%24%\Cab\acitveCab.ocx "
[UnRegisterOCXSection]
"%24%\Cab\acitveCab.ocx "
[InstallFilesSection]
acitveCab.ocx=acitveCab.ocx
msvcr71.dll=msvcr71.dll
mfc71.dll=mfc71.dll
msvcp71.dll=msvcp71.dll
File1=/server/conf/imos.cfg
[InstallInfSection]
cab.inf=cab.inf
[acitveCab.ocx]
file=thiscab
clsid={7B00D72F-6F63-4E72-AC10-49EF32C6518B}
FileVersion=2,0,0,2
RegisterServer=yes
[File1]
file-win32-x86=thiscab
RegisterServer=no
FileVersion=1,0,0,0
[msvcr71.dll]
file-win32-x86=thiscab
RegisterServer=no
FileVersion=7,10,3052,4
[mfc71.dll]
file-win32-x86=thiscab
RegisterServer=no
FileVersion=7,10,3077,0
[msvcp71.dll]
file-win32-x86=thiscab
RegisterServer=no
FileVersion=7,10,3077,0
[cab.inf]
file-win32-x86=thiscab
FileVersion=2,0,0,0
RegisterServer=yes
[DestinationDirs]
InstallFilesSection=24,Cab
InstallInfSection=17
2.把所有文件放到cab文件目录下,利用网上的教程一起打包:如图:
先下载cabarc.exe,从http://support.microsoft.com/kb/310618
假设cabarc.exe加压到D:\temp\11111\BIN\目录下
要把D:\vsc_old目录下的所有文件,包括子文件都添加到cab
命令如下:
D:\VSC_old>D:\temp\11111\BIN\cabarc -r -p N d:\rr.cab *
但结果是第一次非常完美,但我升级版本,再次测试,完全没有更新,纠结死了。。。。。。。。。。。。。。。
------解决方案--------------------
版本都修改的正确吗?
------解决方案--------------------
确定那个cab真的被下载到客户端本地了吗?
------解决方案--------------------
inf版本更了? 需要修改,或者重新打cab
因为项目要求将activex跟一些dll和子目录一起打包并下载到c盘的固定目录下,所以我用了比较复杂的方式:
1.这是我的inf文件中的内容:
[version]
signature= "$CHICAGO$ "
AdvancedINF=2.0
[DefaultInstall]
CopyFiles=InstallFilesSection,InstallInfSection
RegisterOCXs=RegisterOCXSection
[DefaultUninstall]
cleanup=1
Delfiles=acitveCab.ocx
UnRegisterOCXs=UnRegisterOCXSection
[RegisterOCXSection]
"%24%\Cab\acitveCab.ocx "
[UnRegisterOCXSection]
"%24%\Cab\acitveCab.ocx "
[InstallFilesSection]
acitveCab.ocx=acitveCab.ocx
msvcr71.dll=msvcr71.dll
mfc71.dll=mfc71.dll
msvcp71.dll=msvcp71.dll
File1=/server/conf/imos.cfg
[InstallInfSection]
cab.inf=cab.inf
[acitveCab.ocx]
file=thiscab
clsid={7B00D72F-6F63-4E72-AC10-49EF32C6518B}
FileVersion=2,0,0,2
RegisterServer=yes
[File1]
file-win32-x86=thiscab
RegisterServer=no
FileVersion=1,0,0,0
[msvcr71.dll]
file-win32-x86=thiscab
RegisterServer=no
FileVersion=7,10,3052,4
[mfc71.dll]
file-win32-x86=thiscab
RegisterServer=no
FileVersion=7,10,3077,0
[msvcp71.dll]
file-win32-x86=thiscab
RegisterServer=no
FileVersion=7,10,3077,0
[cab.inf]
file-win32-x86=thiscab
FileVersion=2,0,0,0
RegisterServer=yes
[DestinationDirs]
InstallFilesSection=24,Cab
InstallInfSection=17
2.把所有文件放到cab文件目录下,利用网上的教程一起打包:如图:
先下载cabarc.exe,从http://support.microsoft.com/kb/310618
假设cabarc.exe加压到D:\temp\11111\BIN\目录下
要把D:\vsc_old目录下的所有文件,包括子文件都添加到cab
命令如下:
D:\VSC_old>D:\temp\11111\BIN\cabarc -r -p N d:\rr.cab *
但结果是第一次非常完美,但我升级版本,再次测试,完全没有更新,纠结死了。。。。。。。。。。。。。。。
------解决方案--------------------
版本都修改的正确吗?
------解决方案--------------------
确定那个cab真的被下载到客户端本地了吗?
------解决方案--------------------
inf版本更了? 需要修改,或者重新打cab