VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
VC2005添加mscomm

在你要添加控件的对话框上,单击右键,然后点击“插入Acti v eX控件”;在弹出的对话框中,选择“Microsoft Communications Control,Version 6.0”,然后确定即可VS2005 VC2005 MSCOMM 控件添加方法2010年01月08日星期五 17:50电脑不知什么问题VC6.0装不上了,所以干脆装了个VS2005(只有VC++2005),只是用着不太习惯,最近要编一个串口的小软件,以前用6.0编的,现在用8.0却不知道去哪添加那个ActiveX 控件了,在网上搜了半天,找到了添加方法,发现自己的电脑里就没有那个mscomm.ocx文件,直接下了一个放到C:\Windows\system32下,也不能用,在VS2005内,Tools->ActiveX Control 添加上,说确实license,在msdn上看MSCOMM是在VB下介绍的,了解到是VB的一个组建,于是重新安装VS2005,把VC++2005和VB2005都装上,终于OK。
具体添加方法有很多,1.直接在要添加的对话框上,右键->Insert ActiveX Control,在里面找Microsoft Communications Control, version 6.0,添加完成。
2.在窗口右边Toolbox空白处,右键->Choose Item,在COM Components中,找到Microsoft Communications Control, version 6.0,前面打对勾,OK。
3.在菜单Tools中选择Choose Item Control,后面和2一样。
近来又要做个串口通信的程序,由于以前没有做过,所以不知道怎么写,网上搜了一圈,全是在VC6.0下写的,于是找葫芦画瓢,好不容易总算成功了,只是我这里用的是VC2005,但是VC2005中是没有MSCOMM的,所以我们需要借助VC6.0的MSCOMM控件;首先去网上下载MSCOMM32.OCX,MSCOMM32.DEP,MSCOMM.SRG三个文档,然后把它拷贝到c:\windows\sy stem32目录下面;然后注册控件:在命令行里面敲regsv r32 c:\windows\sy stem32\mscomm32.ocx 回车。
使用 Microsoft Visual C# 2005 Express Edition 编程简介

欢迎来到MSDN > 开发语言和工具使用Microsoft Visual C# 2005 Express Edition 编程简介发布日期:9/9/2004 | 更新日期:9/9/2004Andrew W. TroelsenIntertech Training摘要:本文介绍了如何以使用Microsoft Visual C# 2005 Express Edition 集成开发环境(IDE) 的C# 语言进行编程。
本文通过各种示例项目,为读者介绍了C# 编程语言的几个方面和 .NET 平台的主要概念。
下载Code.msi 示例文件。
注本文假定读者是有兴趣探究使用Visual C# 2005 Express Edition 的C# 语言和 .NET 平台的业余爱好者、学生或有编程思想的个人。
不要求您之前一定接触过C#,但以前的一些编程经验将有所帮助。
适用于:Microsoft Visual C# 2005 Express Edition本页内容什么是Visual C# 2005 Express Edition?Visual C# 2005 Express 的高级功能Visual C# 2005 Express 项目程序集、命名空间和类型从理论到实践:使用外部类型通过C# Express 处理异常通过编程方式处理异常创建C# 类库项目构建Windows 窗体应用程序开始进行编码:Visual C# 2005 Express 起始工具包小结什么是Visual C# 2005 Express Edition?.NET 应用程序可以使用多种方法创建。
顽固的开发人员可以采用突击方法,使用精简的文本编辑器(例如,notepad.exe)和C# 命令行编译器(csc.exe) 来构建 .NET 程序。
虽然 .NET 软件开发工具包(SDK) 可以从Microsoft 站点(/net) 免费下载,但这种方法会带来许多麻烦,因为它在SDK 中不提供代码生成实用工具(向导)、图形调试器和IntelliSense 功能。
vs2005打包及发布

vs2005中如何发布网站及打包web项目生成安装文件环境:VS2005如果想要将完成的网站部署到服务器中,可以使用Microsoft Visual Web Developer Web 开发工具提供的“发布网站”实用工具。
“发布网站”实用工具对网站中的页和代码进行预编译,然后将编译器输出写入指定的文件夹。
然后可以将输出复制到目标Web 服务器,并从目标Web 服务器中运行应用程序。
1.先决条件:需要:Visual Web Developer。
Visual Web Developer 速成版不支持“发布网站”实用工具。
能访问Microsoft Internet 信息服务(IIS),以便可以测试发布网站的结果。
假定您自己的计算机上已经正在运行IIS。
或者可以使用IIS 的任何实例,但需要您拥有为其创建虚拟目录的权限。
2.如果您已经通过完成演练:在Visual Web Developer 中创建基本网页在Visual Web D eveloper 中创建了网站,则可以使用该网站,并转至下一部分。
否则,创建一个新的网站和网页.3.发布网站:现在已经有了网站,可以发布了。
可以将网站发布到本地计算机或网络上您能够访问的任何位置,如果要发布到网络,该网络必须使用Visual Web Developer 支持的连接协议。
复制网站有下面几种方式可选:使用UNC 共享复制到网络上另一台计算机中的一个共享文件夹。
使用FTP 复制到服务器。
使用HTTP 协议复制到支持Microsoft FrontPage 2002 服务器扩展的服务器。
在该演练的此部分中您将把网站发布到本地文件夹。
------>>>>>>>>>发布网站在“生成”菜单上单击“发布网站”。
出现“发布网站”对话框。
在“目标位置”框中输入“c:\CompiledSite”。
警告目标文件夹及其子文件夹中的所有数据都将被删除。
VS 2005 开发简单COM控件,以及调用

Visual Studio 开发简单COM控件,以及调用1开发COM控件下面例子的开发过程是使用VS2005,VS2008类似。
1.1创建COM工程创建COM工程的过程如下:首先,创建COM工程,选择“ATL”的“ATL项目”。
这里的工程名称为“ComTest”。
接着,出现“欢迎使用ATL项目向导”,直接点击“下一步”即可。
然后,出现“应用程序设置”,默认设置即可。
创建工程以后,会自动产生比较多的文件,宝卡的文件如下。
1.2添加对象右键点击“ComTest”工程添加类,如下图所示。
添加“ATL简单对象”即可。
填写类的名称,这里填写的简称为TestObject,这个在后面的应用中,会作为对象的名称。
点击“下一步”。
选择“ATL简单对象”属性,这里可以把“ISupportErrorInfo”和“IObjectWithSite”,在这个测试工程没有使用到。
点击“完成”。
在添加对象“TestObject”之后,工程会自动产生文件“TestObject.h”和“TestObject.cpp”,另外,文件“ComTest.idl”会更改,把TestObject相关的对象信息写入。
1.3添加源代码1.3.1更改TestObject.h这个头文件的源代码如下:// TestObject.h : CTestObject 的声明#pragma once#include"resource.h"// 主符号#include"atlctl.h"#include"ComTest.h"#if defined(_WIN32_WCE) && !defined(_CE_DCOM)&& !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)#error "Windows CE 平台(如不提供完全DCOM 支持的Windows Mobile 平台)上无法正确支持单线程COM 对象。
Visual_Studio_2005教程(MFC)

Visual C++ 2005教程目录第一章:Windows程序开发简介 (2)DOS中用户使用软件的方式 (2)Windows中用户使用软件的方式 (3)Windows中程序运行的机制 (4)第二章:Windows编程初步 (6)第一个程序 (6)查看系统库函数的帮助说明 (19)设置控件的属性 (20)完成的程序 (24)输入数据的控件 (26)第三章:Windows编程进阶 (33)列表框控件 (34)单选框控件 (36)组合框控件 (37)复选框控件 (40)列表框控件 (44)图片控件 (48)更多的功能 (49)完整的示例代码 (50)第四章:Windows图形编程 (61)创建菜单 (61)创建工具条 (67)绘制图形 (74)第五章:数据库编程 (80)数据库简介 (80)数据库的建立 (80)ODBC数据源的设置方法 (86)数据库的访问方法 (91)一个实际的例子 (95)第六章:线程机制 (114)线程的概念 (114)线程的状态 (114)线程的优先级 (115)线程的创建和管理 (116)一个演示示例 (117)前台线程和后台线程 (119)线程优先级 (120)挂起线程和恢复线程 (121)终止线程 (121)时钟线程 (122)第七章:网络编程 (123)TCP/IP协议原理介绍 (123)Internet概述 (123)TCP/IP协议 (124)网络应用程序的运行模式 (127).NetFrameWork中的Socket类库 (128)访问网页 (132)一个聊天程序 (132)第一章Windows程序开发简介开发运行在Windows操作系统中的软件需要掌握关于Windows系统下编程的技术,现在业界有多种成熟的Windows开发技术,在本书中,将介绍使用.Net Framework来开发Windows 软件。
那什么是.Net Framework呢?简单的说.Net Framework就是一个C++的类库,专门用来简化Windows程序设计的。
从ocx控件编写到发布到网上全过程

VC6.0从开发activex ocx控件到发布到网上全过程(sunxiaopeng)ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。
控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。
一:vc创建activex控件创建一个activex控件,名称为:test.ocx,创建步骤略。
显示结果如下:为该控件增加一个方法void GetStr(LPCTSTR str),该方法内部代码如下:这样,GetStr方法就被加入了。
onDraw函数下代码如下下面,测试该方法,鼠标右键控件,选择Invoke Methods,弹出如下对话框:在parameter中输入hello,单击Invoke按钮,显示如下:那么如何在网页中将参数传递给控件,让其在网页中显示出来呢??稍后介绍把test.ocx控件放入c:\ceshi目录下,到网上下载Makecert.exe,Cert2Spc.exe,Signcode.exe,并一同放入c:\ceshi目录下二:ActiveX打包与发布1)用到的工具如下所示:1.Makecert.exe ---证书创建工具2.Cert2Spc.exe ---发行者证书测试工具3.Signcode.exe ---文件签名工具2)ActiveX发布步骤打包activeX需要制作证书,具体用到makecert 、cert2spc 、signtool这三个工具,另外需要:digsig.dll和signer.dll。
现在我们将以上工具和.ocx控件放到同一个目录c:\test下.(1)单击"开始"-->"运行(R)"-->输入"cmd"-->回车-->进入到操作的控件所在的目录(需要将上面所说的工具,和ocx控件放到一个文件夹下);(2)创建inf文件,代码如下[version]signature="$CHICAGO$"AdvancedINF=2.0[Add.Code]test.ocx=test.ocx[test.ocx]file-win32-x86=thiscabRegisterServer=yesclsid={B649E664-D7CF-4481-A58E-AC8B4440794A}DestDir=11FileVersion=1,0,0,1上述代码解释如下:file-win32-x86=thiscab//告诉ie到哪里去得到这个dll,file一共包括三个部分,第一部分是file,这个永远都是这样的(至少目前来说);第二部分告诉声明支持的OS,win32表示windows,mac 就是苹果MAC OX了;第三部分是CPU类型,比如说x86、 ppc (Power PC)、 mips 或者alpha了。
使用MFC开发ActiveX控件
使用MFC开发ActiveX控件MFC(Microsoft Foundation Classes)是一套用于开发Windows应用程序的C++类库,它提供了一组封装了Windows API的类和函数,可以方便地开发Windows桌面应用程序。
ActiveX(ocx)控件是一种可重用的组件,可以嵌入到其他应用程序中使用,可以在网页上嵌入,也可以在Visual Studio等开发环境中使用。
下面将介绍如何使用MFC开发ActiveX控件。
然后,根据自己的需求,在OnDraw函数中绘制控件的外观。
可以使用GDI+函数绘制各种形状、文字、图像等。
可以通过设置控件属性,比如颜色、大小、透明度等来改变控件的外观。
接下来,处理控件的消息和事件。
通过重写控件类的成员函数,比如OnLButtonDown、OnKeyDown等,可以处理鼠标和键盘的输入事件。
可以在函数中编写相应的逻辑代码,比如响应鼠标点击事件时弹出一个对话框。
在控件类中,可以添加成员变量和成员函数,用于保存控件的状态和实现控件的功能。
可以在控件的Load函数中初始化控件,可以在DoPropExchange函数中保存控件的属性,可以在Serialize函数中保存控件的状态。
最后,编译项目,生成ActiveX控件的.dll文件。
可以在同一解决方案的其他项目中引用这个控件,通过拖拽控件到窗口上的方式将其嵌入到应用程序中使用。
总结起来,使用MFC开发ActiveX控件主要有以下几个步骤:创建MFC应用程序项目,设计控件的外观,处理控件的消息和事件,实现控件的功能,编译项目,生成ActiveX控件的.dll文件。
通过这些步骤,可以方便地开发自己的ActiveX控件,并在其他应用程序中使用。
vs2005下安装部署vc(MFC)程序(工程)必读
方法一:该打包过程在vs2005中完成,但也适用于vs2008,程序是用c#写的。
1.新建安装和部署。
打开你所写的项目,在解决方案上右键->添加->新建项目。
如图:选择其他项目类型->安装和部署->安装项目。
在名称中把名字改为你所希望的名字,然后确定。
如图:2.确定后打开文件系统,然后单击应用程序文件夹,在右边空白处右键->添加->项目输出。
如图:3.选择主输出,然后确定。
这时文件系统中的应用程序文件夹如图:4.在刚添加的主输出上右键,创建其快捷方式。
可以重命名也可不重命名。
这里命名为PicSee。
如图:5.剪切刚创建的快捷方式,然后单击用户的程序菜单,在其上右键,添加,文件夹,重命名文件夹。
这个文件夹名字就是你在开始,所有程序中显示的名字。
然后单击刚创建的文件夹,在右边空白处粘贴快捷方式,安装好程序后,这个快捷方式会出现在所有程序中。
如图:6.像上面一样再创建一个快捷方式,剪切,然后单击用户桌面,粘贴。
安装完程序后,这个快捷方式出现在桌面。
如图:7.右击左边的"应用程序文件夹"打开属性对话框:将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称"。
8.右键你的安装项目名,属性。
如图:在打开的属性页中,选择"系统必备",在打开的系统必备页中,选中如下图中的选择项,选上以后,在生成的安装文件包中包含.netframework组件,然后确定。
9.改变桌面和开始->所有程序中该程序的默认图标。
在应用程序文件夹右边空白处,右键->添加->文件,添加一个ico文件。
如图:打开用户的程序菜单->PicSee,在右边的快捷方式上右键,属性窗口。
VS2005安装与使用
目录VS2005安装与使用 (1)C#语言入门及基础 (2)类与对象 (16)面象对象高级应用 (19)数组 (24)调试与异常处理 (28)委托与事件 (29)基于Windows的应用程序 (30)基于Web的应用程序 (31)VS2005安装与使用Visual Studio 是开发C#程序的_ _ ____。
在代码编写过程中,Visual Studio 2005提供了一种由集成开发环境提供的即时自动提示功能,叫_ _。
Visual Studio 2005中的每一个对象都有自己的特征集,用来唯一地标识它自己,这个特征集叫做_ _。
Visual Studio 2005的窗口包含共同构成C# 应用程序的一个或多个项目。
当鼠标指针在IDE工具栏的按钮上方停留几秒钟后,会显示_____a)工具箱b)工具栏c) 菜单d) 工具提示工具栏按钮上的图片称为_____a)原型b)图标c) 工具提示d) 选项卡______提供项目及其文件的有组织的视图a)解决方案资源管理器b)属性窗口c)类视图d)工具箱_____用于显示正在开发的应用程序中定义、引用或调用的符号a)服务器资源理器b) 工具箱c) 解决方案资源管理器d) 类视图_____用于查看和更改位于编辑器和设计器中的选定对象的设计时属性及事件a)工具箱b)属性窗口c) 服务器资源理器d) 解决方案资源管理器绘制GUI的时候,界面中的元素都可以从______中拖拽过来的a) 属性窗口b) 服务器资源理器c) 解决方案资源管理器d) 工具箱与用户进行交互的应用程序的可视化部分是______。
a)图形化用户界面b) 项目c)解决方案d)标题栏以下哪些工具可以用来查看写前项目中的文件列表( )A.类视图B.起始页C.解决方案资源管理器D.工具箱计算机软件是指令数据和什么的集合?AA、文档B、代码C、逻辑D、程序在“工具”菜单中选择“选项”命令可以更改启动VS默认出现的用户界面,请问以下哪些是Visual Studio支持的启动界面?A、最后一次加载的项目B、打开起始页C、空环境不打开任何界面D、打开主页.NET Framework环境除了支持和C#两种编辑语言,还支持Perl, C++.net,,ActionScript.A、正确B、错误Visual Studio控件的属性窗口中,按钮“A—>Z”点击后,属性列表会按照什么顺序进行排列?[单选]()A.按照功能分类排列属性B.按照大小排列各属性C.按照名称排列属性在开发Visual Studio项目时,解决方案及各个项目通常默认会以哪个版本的方式生成优化并测试( )A、DebugB、ReleaseC、配置管理器当鼠标指针移出工具箱选项卡区域时,_ _会隐藏工具箱。
VB开发、打包、发布ActiveX控件
VB开发、打包、发布ActiveX控件VB开发ActiveX控件步骤:1、创建一个ActiveX Control的项目2、绘制ActiveX控件的操作界面,并且编写代码3、特别注意:在项目的属性上的Make页,有一个Version Number区域,需要你写当前控件的版本号,这个地方和自动下载有密切关系!当你远端的Web浏览器检查到本机的控件版本号和服务器上不一样的时候,浏览器就会自动从服务器下载新版本控件进行安装,所以你编译的新版本控件一定要改版本号!否则可能导致远程无法更新。
4、编译ActiveX控件ActiveX控件打包步骤:本例子以Studio 6.0自带的打包工具为例。
1、选择当前选用的VB ActiveX项目进行打包。
2、其中在选择Package Type的时候有3个选项:1)Standard setup package2)Internet Package3)Dependency File选择第二个!3、到选择File Source的时候有3个选项:1)Include in this cab2)download from microsoft web site3)download from alternate web site以上选项是针对程序包含的每一个相关dll,ocx的,所以,如果你要修改参数,需要一个个文件设置!我建议是都选择第一项!因为有些控件从外部更新,可能会遇见证书之类的问题,可能导致你的程序无法使用,因此,全部使用本地的是最省心的选择!打包过程的其他步骤,没有特别说明的,全部用默认设置!4、在发布控件的网站根目录下建一个目录,就叫ActiveX吧,把打包装后的Package目录中的所有文件复制到ActiveX目录。
5、打包完成后修改测试例子htm文件:打包完成后,工具会自动产生一个和项目名称一样的htm文件,里面代码如下:<HTML><HEAD><TITLE>WebActiveX.CAB</TITLE></HEAD><BODY><!--If any of the controls on this page require licensing, you must create a license package file. Run LPK_TOOL.EXE to create the required LPK file. LPK_TOOL.EXE can be found on the ActiveX SDK,/intdev/sdk/sdk.htm. If you have the VisualBasic 6.0 CD, it can also be found in the \Tools\LPK_TOOL directory.The following is an example of the Object tag:<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331"><PARAM NAME="LPKPath" VALUE="LPKfilename.LPK"></OBJECT>--><OBJECTID="ActiveXDrive"CLASSID="CLSID:F68EC215-0F14-416F-B680-FF8C772A0B47"CODEBASE="WebActiveX.CAB#version=1,1,0,0"></OBJECT></BODY></HTML>注意,应将红色部分修改为:CODEBASE="http://130.50.26.221/ActiveX/WebActiveX. CAB#version=1,1,0,0">客户端IE设置:1、打开IE->Internet 选项->安全->internet,把安全级设置为低!要注意“自定级别”里面,有没有对ActiveX的限制,要是有全放开!2、要是安装有防火墙软件的,要注意这些软件对http访问有没有限制,要是有全放开!最后一步:嘿嘿,在另一台电脑上访问发布ActiveX控件的服务器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程开篇语:最近在弄ocx控件发布到网站上使用,就是用户在使用过程中,自动下载安装ocx控件。
(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网上发表相关内容的朋友们。
)ActiveX控件用于Web的过程是将控件嵌入主页中,用户通过浏览器访问该主页时,将主页中的控件下载,并在用户机器上注册,以后就可在用户的浏览器上运行。
控件下载一次后就驻留在用户本地机器上,下次再访问相同的主页时,可不再下载该控件,而是直接运行用户本地的控件。
这里控件容器就是浏览器,用户不需要通过浏览器调用控件的属性或方法。
因此,开发面向Web 的ActiveX控件比开发桌面的控件还要简单些,所复杂的是如何将该控件很好地嵌入主页,使用户能正常浏览。
下面介绍这个问题。
一.创建MFC ActiveX项目1.打开VS2005新建MFC项目。
这里我们取名为“ActiveXDemo”。
2.输入项目名称为“ActiveXDemo”和项目位置。
点击“确定”按钮,打开向导对话框。
WoSign 免费提供的时间戳服务URL:/timestamp 时间戳服务非常重要,添加时间戳后,即使您的代码签名证书已经过期,但由于您的代码是在证书有效期内签名的,则时间戳服务保证了此代码仍然可信,最终用户仍然可以放心下载,使得即使代码签名证书已经过期,您也无需重签和重新发布已经签名的代码。
3.选择“控件设置”选项卡,具体设置可参考上图。
其它选项卡为默认设置。
最后点击“完成”按钮保存设置。
二.添加控件方法VC2005会为我们自动创建好MFC ActiveX程序框架,我们只要给该ActiveX控件添加方法即可。
现在我们给控件添加一个“AddFun”方法,这个方法是将两个数相加并返回结果。
1.点击“视图”,打开“类视图”窗口。
2.展开“ActiveXDemoLib”项,选中“_DActiveXDemo”项。
点击鼠标右键,选择“添加”下的“添加方法”。
3.打开添加方法向导窗口。
因为我们是添加一个加法方法,所以我们设置的返回类型为LONG 型,方法名设为AddFun,添加两个LONG类型参数Add1,Add2。
4.其它为默认设置,点击“完成”按钮完成添加方法。
接下来我们打开“解决方案资源管理器”打开“ActiveXDemoCtrl.cpp”文件。
5.打开代码视图,我们会发现VC2005已经为我们添加了一个“AddFun”方法,我们在方法内添加“return Add1 + Add2;”语句。
三、MFC Activex 安全问题:1、在默认环境下,编译的MFC Activex控件,只能在本地代码中运行,即在http://localhost/xxx/xxx.htm中执行,而在http://127.0.0.1/xxx/xxx.htm中提示无相关属性,需要设置其初始化和脚本运行的安全性ActiveX在远程IE页面上执行,需要实现安全接口。
在ATL写的ActiveX中,用IObjectSafety。
/kb/168371/en-us在MFC写的ActiveX中,直接修改注册表。
/kb/161873/en-usmfc实现的ocx,要在app实现文件中包括两个文件:在ActivexDemo.cpp 文件中实现以下方法代码现在控件就可以在自注册时就注册为安全控件了。
2、设置项目属性将配置类型设置成静态库(.lib)3、最后生成项目,ocx控件就产生了。
ActiveX打包与发布在VS2005或VS2008安装后发现路径**VC7\Common7\Tools\Bin\下有许多小工具,我对带有Cert的文件比较感兴趣。
经过研究,发现是有关证书和签名的,当然,该证书未被证书认证机构认可。
下面列出这些工具和我的使用心得。
1。
Makecert.exe ---证书创建工具2。
Cert2Spc.exe ---发行者证书测试工具3。
Signcode.exe ---文件签名工具(VS2008带的是signtool)一、ActiveX发布步骤在这里简单说明下,打包activeX需要制作证书,具体用到makecert 、cert2spc 、signtool 这三个VS提供的工具,工具在VS文件夹里面,以下制作过程需要在工具所在的文件夹下完成!1、单击"开始"-->"运行(R)"-->输入"cmd"-->回车-->进入到操作的控件所在的目录(需要将上面所说的工具,和ocx控件放到一个文件夹下);2、创建PVK文件(私人密匙文件),在命令行中输入"makecert -sk demo demo.pvk -n CN=XXXXXXX公司",然后回车;sk-表示主题的密钥容器位置,ss-主题的证书存储名称,n-证书颁发对象,r-证书存储位置;3、创建CER文件(公司证书),在命令行中输入"makecert -sk demo.pvk demo.cer",然后回车,如图8所示,若出现"Successed"提示,则会在E:\ demo目录下生成demo.cer文件;sk-表示主题的密钥容器位置,is-颁发者的证书存储名称,n-证书颁发对象,ic-颁发者的证书存储位置,-$-授权范围(用于代码签名);4、创建SPC测试软件出版商证明书,在命令行中输入"cert2spc demo.cer demo.spc",然后回车;5、创建INF文件,用记录本编辑以下信息:代码6、创建CAB文件,在命令行中输入"cabarc -s 6144 n demo.cab atl90.dll Polygon.dll demo.inf",-s 选项表示在压缩文件中保留用于代码签名的空间,n命令指定希望创建CAB 文件,然后回车;7、使用Code Signing Wizard签署一个CAB文件,在控制台输入signtool signwizard 进入到signtool窗体中;8、单击"下一步(N)"按钮,选择要进行数字签名的且已做成CAB包的文件demo.cab文件;9、选择好CAB包后单击"下一步(N)"按钮,在选择想要的签名类型里选择"自定议(C)"并单击"下一步(N)"按钮;10、接下来单击"从文件选择(F)"按钮,选择刚刚制作的demo.cer;11、在单击"下一步(N)",然后选择"CSP中的私钥(K)";13、在"证书路径中的证书"中选择"证书路径中的所有证书,包括根证书(C)",在"其它证书(可选)"中选择"包括在以下PKCS #7 证书(.p7b)文件中的证书(P):",并单击"浏览(R)..."按钮选择demo.spc文件,选择完后单击"下一步(N)"按钮;14、接下来在弹出的"数据描述"窗口中输入公司的名称和网址并单击"下一步(N)"按钮;15、现大部份工作都已完成,在接下来的一步当中是可选的操作,其作用只是为CAB加入时间戳,此步骤完全可以不做,VeriSign: /scripts/timstamp.dll;16、完成,单击"下一步(N)"按钮便可来到数字签名向导的最后一步,即操作总览,如图26所示,单击"完成"按钮便可大功告成;下面是微软代码签名证书(.pvk/.spc)签名指南的演示本使用指南演示如何使用WoSign代码签名证书来给微软代码签名,Thawte和VeriSign代码签名证书也是使用同样方法,只是使用不同的时间戳URL。
用户在在线申请代码签名证书时会生成证书私钥文件,如:myCert.pvk,而代码签名证书成功颁发后的证书文件为公钥文件,如:myCert.spc,又称:软件发行证书(Software Publishing Certificate) 。
代码签名证书一般都是采用公钥和私钥分离的两个文件方式,适合于DOS 命令行方式的代码签名。
如果您您希望把代码签名证书导入到Windows证书存储区中,从而简化签名操作,请参考:不同证书格式转换指南。
WoSign代码签名证书的根证书链为:UTN-USERFirst-Object - WoSign Code Signing Authority使用微软的SignCode.exe就可以对微软的代码进行签名,如果您没有此文件,点击这里下载。
Signcode.exe 可以使用DOS 命令行方式实现签名,我们推荐用户使用数字签名向导方式,简单方便。
请注意:如果您开发的ActiveX为IE加载项,请先数字签名每个CAB文件中的.dll和.ocx等文件,再把这些文件打包成.cab文件后再数字签名.cab文件,以确保所有IE加载项都被IE验证和信任,否则会显示“未验证”而可能影响正常运行。
具体签名向导过程如下:(1) 运行Signcode.exe ,要求您选择需要签名的文件,支持:可执行文件(*.exe; *.dll; *.ocx) ;Cabinet 打包文件(*.cab) 和目录文件(*.cat) ,如下图1 所示( 如:TestSign.cab) ,请注意:如果签名的文件已经有数字签名,则会被新的签名覆盖:(2) 点击“下一步”后,如下图2 所示,会要求您选择“签名类型”,缺省的“典型”签名类型;请选择“自定义” 签名类型:(3) 如下图3 所示,点击“从文件选择”签名证书( 公钥文件),如:WotoneCS.spc :(4) 点击“下一步”后,如下图4 所示,会要求您选择私钥文件,如:WotoneCS.pvk ,其他参数不用动:(5) 点击“下一步”后,如下图5 所示,会提示要求输入私钥密码:(6) 点击“下一步”后,如下图6 所示,会提示要求选择散列算法( 摘要算法、缩微图算法) ,缺省为sha1 ,也可以选md5 :(7) 点击“下一步”后,如下图7 所示,选择哪些证书包括到数字签名中,直接点击“下一步”即可,即选择缺省的包括根证书:(8) 如下图8 所示,要求填写该签名代码的功能描述,推荐一定要认真填写,因为此信息将会在最终用户下载此代码时显示,有助于最终用户了解此代码的功能以确定是否下载安装。
第一行“描述”是指此代码的功能文字描述,第二行“ Web 位置”则让最终用户点击文字描述来详细了解此代码的功能和使用方法等,本演示中的“ Web 位置”为WoTrust代码签名证书简介页面:(9) 点击“下一步”后,如下图9 所示,选中“将时间戳添加到数据中”,请使用:WoSign 免费提供的时间戳服务URL:/timestamp 时间戳服务非常重要,添加时间戳后,即使您的代码签名证书已经过期,但由于您的代码是在证书有效期内签名的,则时间戳服务保证了此代码仍然可信,最终用户仍然可以放心下载,使得即使代码签名证书已经过期,您也无需重签和重新发布已经签名的代码。