小弟在学习vs2005 c#开发activex 操作过程中,遇到如下问题,烦请各位大侠指教,感谢。以下为主要步骤1.已C# 做好插件UserControl1.dll
2.已做好以插件项为主输出的安装项目,编译后获得可安装文件ControlSetUp.msi
3.已写ControlSetUp.inf 文件
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1
[hook1]run=msiexec.exe /i "%EXTRACT_DIR%\ControlSetUP.msi" /qn
4.已创建cab文件
CABARC.EXE -s 6144 n c:\ControlSetUp.cab C:\ControlSetUp.msi c:\ControlSetUp.inf5.生成pfx文件
其中,生成pfx 的命令如下:
--------------------------------------
makecert -r -n "CN= cncxz " -b 01/01/2008 -e 01/01/2018 -sv c:\myselfName.pvk c:\myselfName.cer
cert2spc c:\myselfName.cer c:\myselfName.spc
pvkimprt -pfx c:\myselfName.spc c:\myselfName.pvk以上输入的密码均为:111
--------------------------------------
6. 以上都没有出现问题,下面在出现为cab文件生成添加pfx签名的时候,出错了.
signtool sign /f C:\MySelfName.pfx c:\ControlSetUp.cab
SignTool Error: The specified PFX password is not correct.望各位大虾不吝赐教,再次感谢。
2.已做好以插件项为主输出的安装项目,编译后获得可安装文件ControlSetUp.msi
3.已写ControlSetUp.inf 文件
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1
[hook1]run=msiexec.exe /i "%EXTRACT_DIR%\ControlSetUP.msi" /qn
4.已创建cab文件
CABARC.EXE -s 6144 n c:\ControlSetUp.cab C:\ControlSetUp.msi c:\ControlSetUp.inf5.生成pfx文件
其中,生成pfx 的命令如下:
--------------------------------------
makecert -r -n "CN= cncxz " -b 01/01/2008 -e 01/01/2018 -sv c:\myselfName.pvk c:\myselfName.cer
cert2spc c:\myselfName.cer c:\myselfName.spc
pvkimprt -pfx c:\myselfName.spc c:\myselfName.pvk以上输入的密码均为:111
--------------------------------------
6. 以上都没有出现问题,下面在出现为cab文件生成添加pfx签名的时候,出错了.
signtool sign /f C:\MySelfName.pfx c:\ControlSetUp.cab
SignTool Error: The specified PFX password is not correct.望各位大虾不吝赐教,再次感谢。
解决方案 »
- 求 facebook twitter 登录上传照片程序
- c# 转换marc 数据
- 求正则表达式
- 在VS2003上SQL2000和ASPNET连接问题!
- 急求 javascript ?
- 调用另外一个窗体的时候总是自动关闭??
- 求DevExpress控件下载
- 网页里的字号font-size:20转换成winform中DrawString里的new Font(里的emSize)是怎么转换,什么样的比例
- 求教:用OracleClient 写一个调用存储过程,把执行的结果绑定到DataGrid!!!在线等
- 帮忙啦~怎么把屏幕像素单位转换为缇单位阿~
- C#编程 发送midi时间码(MTC)
- Copy Pase的用法
就是安装到客户端以后,是个红叉... 貌似没有在客户端没有注册成功.
相关步骤如下:
==================================================================================
1.编写activex 插件DLL功能组件,并配置生成
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
=============================
通过IE安全控件认证,实现IObjectSafeTy接口
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
IObjectSafety是一个COM下的接口,对于C++程序来说,只需要实现它就行了,而.NET之下没有这个接口,在这种情况下,我们的ActiveX控件就是一个不带类型库的COM组件,必须使用C#代码重新定义COM接口。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&^^^^^^^^^^^^^^^^^^^^^^^^^^
实现IObjectSafety接口来向IE表明ActiveX控件的安全标识,以保证控件再次打包时安全标识不会被被改写。
^^^^^^^^^^^^^^^^^^^^^^^^^^
#####################################
/// <summary>
/// 创建IObjectSafety接口
/// </summary>
[ComImport, Guid("415fa9ac-887c-48da-a7c2-db8fc31c44f1")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IObjectSafety
{
[PreserveSig]
void GetInterfacceSafyOptions(
int riid,
out int pdwSupportedOptions,
out int pdwEnabledOptions); [PreserveSig]
void SetInterfaceSafetyOptions(
int riid,
int dwOptionsSetMask,
int dwEnabledOptions);
} #####################################
实现IObjectSafety接口代码:
#####################################
#region IObjectSafety 成员 public void GetInterfacceSafyOptions(int riid, out int pdwSupportedOptions, out int pdwEnabledOptions)
{
pdwSupportedOptions = 1;
pdwEnabledOptions = 2;
} public void SetInterfaceSafetyOptions(int riid, int dwOptionsSetMask, int dwEnabledOptions)
{
throw new System.NotImplementedException();
} #endregion #####################################===========================
2.添加安装项目,以DLL文件项目为主输出,生成activex插件的msi格式的可安装文件=========================
改动ActiveX控件的主输出文件的属性,将其Register属性改为vsdrpCOM.
=========================3.编写inf文件(内容见底部)
4.根据msi文件和inf文件用CABARC.EXE生成cab文件(打包)
CABARC.EXE -s 6144 n C:\ControlSetUp.cab C:\ControlSetUp.msi C:\ControlSetUp.inf5.生成pfx密钥(测试证书及密钥)
===================makecert -r -n "CN= BroadWay Firm" -b 01/01/2008 -e 01/01/2018 -sv c:\myselfName.pvk c:\myselfName.cer
cert2spc c:\myselfName.cer c:\myselfName.spc
pvkimprt -pfx c:\myselfName.spc c:\myselfName.pvk
===================
6.为cab包签名
signtool signwizard给数据盖时间戳
http://timestamp.verisign.com/scripts/timstamp.dll
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>以上生成过程中,都没有出问题,最后在客户端安装过以后,显示是个红叉.. 望有知者指教.谢谢附:
[inf文件]=========================
[Setup Hooks]
hook1=hook1[hook1]
run=msiexec.exe /i %EXTRACT_DIR%\ControlSetUp.msi /qn[Version]
; This section is required for compatibility on both Windows 95 and Windows NT.
Signature="$CHICAGO$"
AdvancedInf=2.0
=========================
请问你是怎么解决的,在哪里输入密码?