奇怪的是使用世界之窗在本地可以正常运行……
各路大虾,有什么解决方案啊……
32 个解决方案
#1
放到 IIS 上? 看那个例子是在浏览器中用的唉.
#2
什么意思啊?
#3
明显的权限问题
要么降低客户端的权限控制
要么去买数字正数
要么降低客户端的权限控制
要么去买数字正数
#4
证书
#5
因为客户端没有安装该activex控件,控件需要在本地安装并注册到注册表中。你需要在html中指定一个url,制定如果本地找不到该到此url处下载该actvex控件。一般该activex控件做成cab安装包。
#6
<object id="DownloadX" width="600" height="400"
classid="clsid:D1A7314E-03BD-40e0-BA6A-F37AB575FECF"
codebase="DownloadXPro.cab#Version=1,1,1,0">
...
</object>
看看这个例子,codebase就是指定的安装包,他和你访问的页面在一个路径,他还定义了版本号,如果版本不一致都会重新下载新的安装包到本地
classid="clsid:D1A7314E-03BD-40e0-BA6A-F37AB575FECF"
codebase="DownloadXPro.cab#Version=1,1,1,0">
...
</object>
看看这个例子,codebase就是指定的安装包,他和你访问的页面在一个路径,他还定义了版本号,如果版本不一致都会重新下载新的安装包到本地
#7
这个是我的啊,客户端会提示安装,但是还是没有用啊,在本地通过192.168.0.246/cin/test.html也不能访问哦
<body bgcolor='#223344'>
<object id="TestActivex1"
codebase="http://192.168.0.246:8888/cin/TestActivex_SetUp.msi"//请问这里应该是msi文件还是dll文件啊
classid="clsid:9D0DCA49-9F03-4aea-932F-ED13DD6EE9CA" Width="285" Height="200">
</object>
<input type="button" onclick="alert(TestActivex1.GetString());" value="显示当前时间" />
</body>
#8
我用makecert,signcode做了个证书,也没有用哦
在本地通过192.168.0.246/cin/test.html也是显示红叉
但本地通过D:\web\Try\test.html显示一切正常……
#9
提示安装是不可避免的,
<object id="TestActivex1"
codebase="http://192.168.0.246:8888/cin/TestActivex_SetUp.msi"//
浏览器只能用xxxx.cab !, msi,dll 都不可以
你要把activeX 打包成 cab 包
<object id="TestActivex1"
codebase="http://192.168.0.246:8888/cin/TestActivex_SetUp.msi"//
浏览器只能用xxxx.cab !, msi,dll 都不可以
你要把activeX 打包成 cab 包
#11
真是好兄弟啊……
好的……我试试看
#12
其他的机器装framework 了没?还有IIS的执行权限那里,好像必须是纯脚本(又好像是脚本和可执行文件,我也不记得了,你可以试试)。我也做过这样的东西。用起来挺麻烦的。。
#13
红叉是因为本地禁用了
最简单的方法是将IIS的地址加入受信任站点中(受信任站点的关于ActiveX的功能都打开)
最简单的方法是将IIS的地址加入受信任站点中(受信任站点的关于ActiveX的功能都打开)
#14
对方装了Framework也把我设置为设置了受信任站点了……
#15
mark
#16
up 10#
#17
受信任站点貌似可以了,在其他机器上可以了,呵呵,但是是手动安装的TestAvtiveX,估计是要打包成cab文件
问:这么多GUID,都要用同一个号?
例如:
<object id="ZDTIIRemoting"
codebase="192.168.0.246:8888/cin/Remoting/ZDTIIRemoting.dll"//这里一个?
classid="clsid:8E7EC0DE-F382-4b38-AC07-C81418B80B66" width="402" height="300" align="middle">
</object>
在AssemblyInfo文件中有
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("57ddc362-9e0b-42e5-a330-7261259defca")]//这里有一个?
在定义安全接口IObjectSafety时
[ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")]//这里也有
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IObjectSafety
{
在写控件Activex时也有
namespace ZDTIIRemoting
{
[Guid("8E7EC0DE-F382-4b38-AC07-C81418B80B66")]//这里还有
public partial class ZDTIIRemoting: UserControl
{
#18
确实是这个问题,现在可以安装了,但是还有很多小毛病,比如客户端的浏览器不一样对些设置也不一样
即:有的浏览器会提示安装,有的浏览器就直接给安装了,总感觉自己编的有问题,很不爽啊……
还有你知道楼上我说的那些GUID不?
#19
郁闷啊,在其他机器上测试的时候,不设置为信任站点的时候会提示安装,当我手动安装即把安装文件Test.msi拷贝到该机器上时提示要有Framework3.5的环境……怎么办啊?老板说要2.0的环境……真是郁闷,我在写这个控件的时候(VS2008开发)选择的是2.0的环境啊?好郁闷
#20
这个不能算是毛病,浏览器的安全性低自然就不提示,浏览器的安全性高就提示!你是无法控制的。你假如控制了微软的IE就没法用了。 你也不用管这方面的问题。 只要能提示安装就可以了。
#21
这个问题比较麻烦了,你如果在你的程序里确切引用了.net 3.5的组件,就得在客户端安装3.5 framework 了。
有传闻说飞信.net的安装包可以参考,我没实际做过。
你应该创建一个2.0的工程,试着进行程序移植,去掉些3.5的固有特性及引用。 重新编译发布
#22
我是创建的2.0的工程啊,我还特意用2.0重新写了Test,那边还是提示要用3.5的。真个是晕了……
#23
安装工程你选的是2.0?
把你那个install.inf 贴出来看看
把你那个install.inf 贴出来看看
#24
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1
[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%\Test20_SetUp.msi" /qn
#25
你的msi 制作的可能有问题,包含了3.5相关的相关组件或者引用
#26
搞定了:安装文件右击——视图——启动条件——.net Framework属性 version选择2.0……
#27
还是不提示安装啊,很郁闷呀
<object id="ZDTIIRemoting"
codebase="http://192.168.0.246:8888/cin/Remoting/ZDTII_SetUp.cab"
classid="clsid:8E7EC0DE-F382-4b38-AC07-C81418B80B66" width="402" height="300" align="middle">
</object>
#28
为什么呢?签了名还是这样:在客户端提示安装,点击安装后还是没反应,刷新还是提示安装……
#29
我也遇到了同样的问题~期待解决中
#30
你多注意一下细节就好了,我当时貌似什么小地方出问题了……不记得了,反正问题不大
#31
此篇文章地址已更改:http://blog.bossma.cn/dotnet/csharp-activex-cab/
#32
楼主,我的在客户端可以安装,但是显示的就是红叉,这是怎么回事啊?帮帮我,我已经没辙了。。
#1
放到 IIS 上? 看那个例子是在浏览器中用的唉.
#2
什么意思啊?
#3
明显的权限问题
要么降低客户端的权限控制
要么去买数字正数
要么降低客户端的权限控制
要么去买数字正数
#4
证书
#5
因为客户端没有安装该activex控件,控件需要在本地安装并注册到注册表中。你需要在html中指定一个url,制定如果本地找不到该到此url处下载该actvex控件。一般该activex控件做成cab安装包。
#6
<object id="DownloadX" width="600" height="400"
classid="clsid:D1A7314E-03BD-40e0-BA6A-F37AB575FECF"
codebase="DownloadXPro.cab#Version=1,1,1,0">
...
</object>
看看这个例子,codebase就是指定的安装包,他和你访问的页面在一个路径,他还定义了版本号,如果版本不一致都会重新下载新的安装包到本地
classid="clsid:D1A7314E-03BD-40e0-BA6A-F37AB575FECF"
codebase="DownloadXPro.cab#Version=1,1,1,0">
...
</object>
看看这个例子,codebase就是指定的安装包,他和你访问的页面在一个路径,他还定义了版本号,如果版本不一致都会重新下载新的安装包到本地
#7
这个是我的啊,客户端会提示安装,但是还是没有用啊,在本地通过192.168.0.246/cin/test.html也不能访问哦
<body bgcolor='#223344'>
<object id="TestActivex1"
codebase="http://192.168.0.246:8888/cin/TestActivex_SetUp.msi"//请问这里应该是msi文件还是dll文件啊
classid="clsid:9D0DCA49-9F03-4aea-932F-ED13DD6EE9CA" Width="285" Height="200">
</object>
<input type="button" onclick="alert(TestActivex1.GetString());" value="显示当前时间" />
</body>
#8
我用makecert,signcode做了个证书,也没有用哦
在本地通过192.168.0.246/cin/test.html也是显示红叉
但本地通过D:\web\Try\test.html显示一切正常……
#9
提示安装是不可避免的,
<object id="TestActivex1"
codebase="http://192.168.0.246:8888/cin/TestActivex_SetUp.msi"//
浏览器只能用xxxx.cab !, msi,dll 都不可以
你要把activeX 打包成 cab 包
<object id="TestActivex1"
codebase="http://192.168.0.246:8888/cin/TestActivex_SetUp.msi"//
浏览器只能用xxxx.cab !, msi,dll 都不可以
你要把activeX 打包成 cab 包
#10
#11
真是好兄弟啊……
好的……我试试看
#12
其他的机器装framework 了没?还有IIS的执行权限那里,好像必须是纯脚本(又好像是脚本和可执行文件,我也不记得了,你可以试试)。我也做过这样的东西。用起来挺麻烦的。。
#13
红叉是因为本地禁用了
最简单的方法是将IIS的地址加入受信任站点中(受信任站点的关于ActiveX的功能都打开)
最简单的方法是将IIS的地址加入受信任站点中(受信任站点的关于ActiveX的功能都打开)
#14
对方装了Framework也把我设置为设置了受信任站点了……
#15
mark
#16
up 10#
#17
受信任站点貌似可以了,在其他机器上可以了,呵呵,但是是手动安装的TestAvtiveX,估计是要打包成cab文件
问:这么多GUID,都要用同一个号?
例如:
<object id="ZDTIIRemoting"
codebase="192.168.0.246:8888/cin/Remoting/ZDTIIRemoting.dll"//这里一个?
classid="clsid:8E7EC0DE-F382-4b38-AC07-C81418B80B66" width="402" height="300" align="middle">
</object>
在AssemblyInfo文件中有
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("57ddc362-9e0b-42e5-a330-7261259defca")]//这里有一个?
在定义安全接口IObjectSafety时
[ComImport, GuidAttribute("CB5BDC81-93C1-11CF-8F20-00805F2CD064")]//这里也有
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
public interface IObjectSafety
{
在写控件Activex时也有
namespace ZDTIIRemoting
{
[Guid("8E7EC0DE-F382-4b38-AC07-C81418B80B66")]//这里还有
public partial class ZDTIIRemoting: UserControl
{
#18
确实是这个问题,现在可以安装了,但是还有很多小毛病,比如客户端的浏览器不一样对些设置也不一样
即:有的浏览器会提示安装,有的浏览器就直接给安装了,总感觉自己编的有问题,很不爽啊……
还有你知道楼上我说的那些GUID不?
#19
郁闷啊,在其他机器上测试的时候,不设置为信任站点的时候会提示安装,当我手动安装即把安装文件Test.msi拷贝到该机器上时提示要有Framework3.5的环境……怎么办啊?老板说要2.0的环境……真是郁闷,我在写这个控件的时候(VS2008开发)选择的是2.0的环境啊?好郁闷
#20
这个不能算是毛病,浏览器的安全性低自然就不提示,浏览器的安全性高就提示!你是无法控制的。你假如控制了微软的IE就没法用了。 你也不用管这方面的问题。 只要能提示安装就可以了。
#21
这个问题比较麻烦了,你如果在你的程序里确切引用了.net 3.5的组件,就得在客户端安装3.5 framework 了。
有传闻说飞信.net的安装包可以参考,我没实际做过。
你应该创建一个2.0的工程,试着进行程序移植,去掉些3.5的固有特性及引用。 重新编译发布
#22
我是创建的2.0的工程啊,我还特意用2.0重新写了Test,那边还是提示要用3.5的。真个是晕了……
#23
安装工程你选的是2.0?
把你那个install.inf 贴出来看看
把你那个install.inf 贴出来看看
#24
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1
[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%\Test20_SetUp.msi" /qn
#25
你的msi 制作的可能有问题,包含了3.5相关的相关组件或者引用
#26
搞定了:安装文件右击——视图——启动条件——.net Framework属性 version选择2.0……
#27
还是不提示安装啊,很郁闷呀
<object id="ZDTIIRemoting"
codebase="http://192.168.0.246:8888/cin/Remoting/ZDTII_SetUp.cab"
classid="clsid:8E7EC0DE-F382-4b38-AC07-C81418B80B66" width="402" height="300" align="middle">
</object>
#28
为什么呢?签了名还是这样:在客户端提示安装,点击安装后还是没反应,刷新还是提示安装……
#29
我也遇到了同样的问题~期待解决中
#30
你多注意一下细节就好了,我当时貌似什么小地方出问题了……不记得了,反正问题不大
#31
此篇文章地址已更改:http://blog.bossma.cn/dotnet/csharp-activex-cab/
#32
楼主,我的在客户端可以安装,但是显示的就是红叉,这是怎么回事啊?帮帮我,我已经没辙了。。