当前位置:编程学习 > C#/ASP.NET >>

关于C#制作的ActiveX在远端的注册安装

--------------------编程问答-------------------- 额,不知道,帮顶,接点分

--------------------编程问答--------------------
引用 1 楼 zxj2634 的回复:
额,不知道,帮顶,接点分


谢谢。 --------------------编程问答-------------------- 浏览器安全限制, 降低安全级别试试 --------------------编程问答--------------------
引用 3 楼 peterb 的回复:
浏览器安全限制, 降低安全级别试试


谢谢,需要说明的是,CAB已经签名,且签名已经被客户端安装并信任,ActiveX安装的提示也已经弹出并选择“安装”,所以应该不是安全限制的问题,并且文件也已经下载到客户端并解压,安全限制的文件是不能被下载到本地的。
另外,我们已经测试了把所有安全限制降到最低,但是似乎INF中的所有安装工作都仍然没有执行。 --------------------编程问答--------------------
引用 4 楼 aizb 的回复:
引用 3 楼 peterb 的回复:
浏览器安全限制, 降低安全级别试试


谢谢,需要说明的是,CAB已经签名,且签名已经被客户端安装并信任,ActiveX安装的提示也已经弹出并选择“安装”,所以应该不是安全限制的问题,并且文件也已经下载到客户端并解压,安全限制的文件是不能被下载到本地的。
另外,我们已经测试了把所有安全限制降到最低,但是似乎INF中的所有安装工作都仍然没有执行。


我把重点放在inf文件是否正确上面。 --------------------编程问答-------------------- 我又把上面的所有文件使用VS2008打成安装包,结果包含两个文件:Setup.exe和CMS.NET.Workstation.WebActiveX.Setup.msi,然后把install.inf改成:
[version]    
signature="$CHICAGO$"
AdvancedINF=2.0

[DefaultInstall]
CopyFiles=install.files
;RegisterOCXs=RegisterFiles

[DestinationDirs]
install.files=0,%11%\FSIActiveX

[install.files]
CMS.NET.Workstation.WebActiveX.Setup.msi=CMS.NET.Workstation.WebActiveX.Setup.msi
Setup.exe=Setup.exe

[Setup Hooks]  
hookname=section_name  

[section_name]  
run=%EXTRACT_DIR%\setup.exe

[Setup.exe]
file-win32-x86=thiscab
FileVersion=1,0,0,1

[CMS.NET.Workstation.WebActiveX.Setup.msi]
file-win32-x86=thiscab
FileVersion=1,0,0,1

再签名,下载,结果还是一样没有任何安装。 --------------------编程问答-------------------- --------------------编程问答-------------------- 顶!:)
--------------------编程问答-------------------- 为了能够在本地测试这个INF文件(在Windows资源管理器中单击inf右键,在弹出菜单中“安装”项可以直接安装),我修改成下面的内容:

[version]    
signature="$CHICAGO$"
AdvancedINF=2.0
ClassGUID={36A2C418-2137-49e0-8EBB-A43AB5EAE4C9};增加了一个ID
Provider="FSIINC";增加了Provider

[SourceDisksNames];如果要本地能执行安装,必须要有这一节。
1="CMS.NET.Workstation.WebActiveX.Setup"

[SourceDisksFiles];如果要本地能执行安装,必须要这一节。
CMS.NET.Workstation.WebActiveX.Setup.msi=1
Setup.exe=1

[DestinationDirs]
Files=0,%11%\FSIActiveX

[DefaultInstall]
CopyFiles=Files

[Files]
CMS.NET.Workstation.WebActiveX.Setup.msi=CMS.NET.Workstation.WebActiveX.Setup.msi
Setup.exe=Setup.exe

[Setup.exe]
file-win32-x86=thiscab
hook=section_name  
;FileVersion=1,0,0,1

[section_name]  
run=msiexec.exe CMS.NET.Workstation.WebActiveX.Setup.msi; %11%\FSIActiveX\setup.exe

[CMS.NET.Workstation.WebActiveX.Setup.msi]
file-win32-x86=thiscab
;FileVersion=1,0,0,1

经过上述修改之后,在Windows资源管理器中右键单击这个inf文件,弹出的菜单中选“安装”项,能够将同在一个文件夹中的setup.exe和CMS.NET.Workstation.WebActiveX.Setup.msi复制到C:\Windows\System32\FSIActiveX,但是还是没有执行run中的命令。 --------------------编程问答-------------------- 红叉应该跟安全设置有关
--------------------编程问答--------------------
引用 10 楼 diecode 的回复:
红叉应该跟安全设置有关



根据我从本地inf右键菜单的安装来运行的结果(也是没有运行run里面指令)来看,跟安全无关,本地运行是不涉及到安全的。而且我从网页下载的CAB是经过签名的,并且把IE的安全级别降到最低都试过。 --------------------编程问答-------------------- 我很奇怪,难道没有人遇到我一样的问题? --------------------编程问答-------------------- 还是高手都不愿意回答这样的问题?其实就是很简单?如何运行inf中的run指令? --------------------编程问答-------------------- 在客户端手工注册ocx试试看,能不能用 --------------------编程问答--------------------
引用 14 楼 int64 的回复:
在客户端手工注册ocx试试看,能不能用


手工注册OCX是肯定可以的,编写这个OCX的时候就已经测试过N遍了,也在其他各电脑上都有过测试。 --------------------编程问答-------------------- 需要说明的是:抛开OCX不管,INF中的run所指向的即使是MS网站上的东西,也不能在本地运行(使用右键菜单"安装")。 --------------------编程问答-------------------- 学习一下! --------------------编程问答-------------------- 学习一下。 --------------------编程问答-------------------- 学习一下。 --------------------编程问答-------------------- 各位大大不要见死不救呀。。。 --------------------编程问答-------------------- 和你遇到了一样的问题,C#写的ActiveX.dll文件能写到system32下,但是就是无法将classid注册到注册表中,所以每次访问时,都显示要安装,安装后仍然无法使用dll里的方法。
不知道你现在可解决了,如果解决了希望能拉一把兄弟.... --------------------编程问答--------------------
引用 21 楼 qq31826351 的回复:
和你遇到了一样的问题,C#写的ActiveX.dll文件能写到system32下,但是就是无法将classid注册到注册表中,所以每次访问时,都显示要安装,安装后仍然无法使用dll里的方法。
不知道你现在可解决了,如果解决了希望能拉一把兄弟....


没有,没有。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 怎么我问的问题都没有人回复? --------------------编程问答-------------------- 看下是不是签名问题,签名这东西太恶心了。
找个低版本的ie(60)试一下。
--------------------编程问答-------------------- 这问题没人解得了么?小弟也遇到了…… --------------------编程问答-------------------- 居然最后是无解。。晕。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,