描述:
将ocx和dll等打包cab,加上测试的证书后放在unix的apache服务器上,访问时它会出现activex安装警告,可是当我点击了安装控件后,它就没有反应了.感觉没有下载,电脑上也搜不到有cab包.
1.我的ocx是debug编译的,已将debug目录下面生成的所有dll和ocx打包,(还有PActiveX.lib,PActiveX.map文件没打包)
2.unix下的apache服务器对控件发布有没有影响?
3.请各位大侠看看那里出错??
网页中的代码:
<script LANGUAGE="JavaScript">
ww=screen.width-20;
hh=screen.height-140;
document.write("<OBJECT id='PowerActiveX' CODEBASE='PowerActiveX.cab#version=1,0,0,3' width='+ww+' height='+hh+' classid='clsid:4DCA5F5A-7045-4CCC-B918-6B6A832C98B7'>");
</script>
<param name="_Version" value="65536">
<param name="_ExtentX" value="2646">
<param name="_ExtentY" value="1323">
<param name="_StockProps" value="0">
<param name="DataServerIP" value="192.168.1.1">
<param name="DataServerPort" value="8888">
<param name="FtpServerIP" value="192.168.1.1">
</OBJECT>
inf文件:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
PActiveX.ocx=PActiveX.ocx
1.dll=1.dll
2.dll=2.dll
3.dll=3.dll
MFC42D.DLL=MFC42D.DLL
MFCN42D.DLL=MFCN42D.DLL
MFCO42D.DLL=MFCO42D.DLL
MSVCIRTD.DLL=MSVCIRTD.DLL
MSVCRTD.DLL=MSVCRTD.DLL
olepro32.dll=olepro32.dll
[olepro32.dll]
file-win32-x86=thiscab
FileVersion=5,0,4512,1
[MSVCRTD.DLL]
file-win32-x86=thiscab
FileVersion=6,0,8168,0
[MSVCIRTD.DLL]
file-win32-x86=thiscab
FileVersion=6,0,8168,0
[MFCO42D.DLL]
file-win32-x86=thiscab
FileVersion=6,0,8168,0
[MFCN42D.DLL]
file-win32-x86=thiscab
FileVersion=6,0,8168,0
[MFC42D.DLL]
file-win32-x86=thiscab
FileVersion=6,0,8168,0
[3.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,1
[2.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,1
[1.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,1
[PActiveX.ocx]
file-win32-x86=thiscab
clsid={4DCA5F5A-7045-4CCC-B918-6B6A832C98B7}
FileVersion=1,0,0,1
RegisterServer=yes
解决方案1:
用静态编译,可能是安全级别很高,也可能是相应的类库没有找到
解决方案2:如果你用的是测试证书考虑IE安全级别降低