將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
8 个解决方案
我已經調到了低安全級別,可是一樣的,我一點“是”來安裝,狀態欄馬上就顯示完成,可是什么也沒有發生。
不知道怎么靜態編譯?現在就是已經創建了四個工程。怎么把他們編譯在一起呢?而不是分別編成幾個dll,和ocx?對不起,太菜了。
用靜態編譯,可能是安全級別很高,也可能是相應的類庫沒有找到
問題搞清楚。。暈的很,,,是我的inf文件格式錯了。。。。
靜態編譯還是不知道怎么做。