activex控件在本地可以运行,怎么在别人电脑运行啊

时间:2022-02-25 21:02:43
如题,具体打包流程是什么,还有打包之后怎么做。。下载到哪个文件夹安装的。。

12 个解决方案

#1


可以用cabarc来打包分发,要自己写INF文件,如下:
[version] 
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
***.dll=***.dll

[Deployment]
InstallScope=machine

[***.dll]
file-win32-x86=thiscab
clsid={FAE5660C-DBFF-4280-A746-8601692ECC72}
RegisterServer=yes
RedirectToHKCU=yes
FileVersion=1,0,0,1

#2


做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
    name="××××" style="border:2px solid 0000ff" 
    codebase="http://10.34.63.164/××××.cab#version=1,0,0,1"></object>  

#3


我在那个调试软件里运行可以。。打包之后,在本地就显示一个红叉,这是为什么

#4


引用 2 楼  的回复:
做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
    name="××××" style="border:2px solid 0000ff" 
    codebase="http://10.34.63.164/××××.cab#……

我在那个调试软件里运行可以。。打包之后,在本地就显示一个红叉,这是为什么

#5


引用 4 楼  的回复:
引用 2 楼  的回复:

做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
name="××××" style="border:2px solid 0000ff"
codebase="http://10.34.63.164/××……

本机吗?你调试用的什么方式?用的HTML页面吗?检查过CLSID了吗?

#6


引用 5 楼  的回复:
引用 4 楼  的回复:

引用 2 楼  的回复:

做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
name="××××" style="border:2px solid 0000ff"
codebase="http:/……

vc 6.0自带的activex control test container 用html调试.ocx也可以啊。。打包之后就不可以了

#7


冷汗,这明显不应该啊?MFC的ActiveX控件?测试代码show一下吧,真不好猜测什么问题了~

#8


控件注册成功后,在怎么折腾它也不会说显示为红叉叉啊。你确认CLSID没有写错~

#9


引用 7 楼  的回复:
冷汗,这明显不应该啊?MFC的ActiveX控件?测试代码show一下吧,真不好猜测什么问题了~

<HTML>
<HEAD>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>

<object id="safeEdit1"
classid="34174022-7879-47A4-A388-0D33FF67BFD1" 
codebase="D:\activex\safeEdit\Debug\safeEdit.cab#version=1,0,0,1"
width=145 height=21>
</object>

</BODY>
</HTML>
这个是不是i有问题。。。

#10


引用 8 楼 chaojibenben 的回复:
控件注册成功后,在怎么折腾它也不会说显示为红叉叉啊。你确认CLSID没有写错~

<HTML>
<HEAD>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>

<OBJECT ID="SafeEdit1" WIDTH=151 HEIGHT=40
 CLASSID="CLSID:34174022-7879-47A4-A388-0D33FF67BFD1">
    <PARAM NAME="_Version" VALUE="65536">
    <PARAM NAME="_ExtentX" VALUE="3969">
    <PARAM NAME="_ExtentY" VALUE="1058">
    <PARAM NAME="_StockProps" VALUE="0">
</OBJECT>

</BODY>
</HTML>
这是我html测试的,这个可以正常显示。所以clsid应该没错吧。。

#11


引用 2 楼  的回复:
做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
    name="××××" style="border:2px solid 0000ff" 
    codebase="http://10.34.63.164/××××.cab#……

之前那个问题解决了。。费了好大功夫,现在在本地可以使用了。。那怎么让别人使用。。这个http服务器要自己下载吗,具体怎么弄。。

#12


用apache搭建一个测试服务器不就得了

#1


可以用cabarc来打包分发,要自己写INF文件,如下:
[version] 
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
***.dll=***.dll

[Deployment]
InstallScope=machine

[***.dll]
file-win32-x86=thiscab
clsid={FAE5660C-DBFF-4280-A746-8601692ECC72}
RegisterServer=yes
RedirectToHKCU=yes
FileVersion=1,0,0,1

#2


做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
    name="××××" style="border:2px solid 0000ff" 
    codebase="http://10.34.63.164/××××.cab#version=1,0,0,1"></object>  

#3


我在那个调试软件里运行可以。。打包之后,在本地就显示一个红叉,这是为什么

#4


引用 2 楼  的回复:
做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
    name="××××" style="border:2px solid 0000ff" 
    codebase="http://10.34.63.164/××××.cab#……

我在那个调试软件里运行可以。。打包之后,在本地就显示一个红叉,这是为什么

#5


引用 4 楼  的回复:
引用 2 楼  的回复:

做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
name="××××" style="border:2px solid 0000ff"
codebase="http://10.34.63.164/××……

本机吗?你调试用的什么方式?用的HTML页面吗?检查过CLSID了吗?

#6


引用 5 楼  的回复:
引用 4 楼  的回复:

引用 2 楼  的回复:

做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
name="××××" style="border:2px solid 0000ff"
codebase="http:/……

vc 6.0自带的activex control test container 用html调试.ocx也可以啊。。打包之后就不可以了

#7


冷汗,这明显不应该啊?MFC的ActiveX控件?测试代码show一下吧,真不好猜测什么问题了~

#8


控件注册成功后,在怎么折腾它也不会说显示为红叉叉啊。你确认CLSID没有写错~

#9


引用 7 楼  的回复:
冷汗,这明显不应该啊?MFC的ActiveX控件?测试代码show一下吧,真不好猜测什么问题了~

<HTML>
<HEAD>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>

<object id="safeEdit1"
classid="34174022-7879-47A4-A388-0D33FF67BFD1" 
codebase="D:\activex\safeEdit\Debug\safeEdit.cab#version=1,0,0,1"
width=145 height=21>
</object>

</BODY>
</HTML>
这个是不是i有问题。。。

#10


引用 8 楼 chaojibenben 的回复:
控件注册成功后,在怎么折腾它也不会说显示为红叉叉啊。你确认CLSID没有写错~

<HTML>
<HEAD>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>

<OBJECT ID="SafeEdit1" WIDTH=151 HEIGHT=40
 CLASSID="CLSID:34174022-7879-47A4-A388-0D33FF67BFD1">
    <PARAM NAME="_Version" VALUE="65536">
    <PARAM NAME="_ExtentX" VALUE="3969">
    <PARAM NAME="_ExtentY" VALUE="1058">
    <PARAM NAME="_StockProps" VALUE="0">
</OBJECT>

</BODY>
</HTML>
这是我html测试的,这个可以正常显示。所以clsid应该没错吧。。

#11


引用 2 楼  的回复:
做好CAB包后,放到HTTP服务器上就可以了,在页面里要如此写:
<object classid="clsid:FAE5660C-DBFF-4280-A746-8601692ECC72" id="××××"
    name="××××" style="border:2px solid 0000ff" 
    codebase="http://10.34.63.164/××××.cab#……

之前那个问题解决了。。费了好大功夫,现在在本地可以使用了。。那怎么让别人使用。。这个http服务器要自己下载吗,具体怎么弄。。

#12


用apache搭建一个测试服务器不就得了