.Net魔法堂:史上最全的ActiveX開發教程——發佈篇

1、 前言                              html

   接着上一篇《.Net魔法堂:史上最全的ActiveX開發教程——開發篇》,本篇講述如何發佈咱們的ActiveX。瀏覽器

 

2、廢話少講,立刻看步驟!                      數據結構

   1. 打包工具

   C#開發的Activex不像`OCX`那樣直接經過`regsvr32.exe`註冊,而採用兩種方式發佈使其運行在瀏覽器上。
   1. 離線安裝:將控件類庫打包成MSI安裝包,而後在客戶端安裝。
    1.1. 添加安裝項目spa

    

    1.2. 右鍵「添加」->「項目輸出」,選擇ActiveX控件爲「主輸出」code

    

     1.3. 雙擊「解決方案資源管理器」的「檢測到的依賴項」下的 Microsoft.NET Framework 並修改「啓動條件」下 .NET Framework 的Version爲.NET             Framework2.0 htm

    

     1.4. 修改「主輸出來自XXX」的 Register 屬性爲 vsdrpCOMblog

     

 

  2. 在線安裝:將MSI再封裝成CAB包,並將CAB包隨應用一同發佈,當瀏覽器訪問含該ActiveX控件時就會自動提示安裝。
    
2.1. 定義cab.ddf     教程

.OPTION   EXPLICIT
.Set Cabinet=on
.Set Compress=on
.Set MaxDiskSize=CDROM
.Set ReservePerCabinetSize=6144
.Set DiskDirectoryTemplate="."
.Set CompressionType=MSZIP
.Set CompressionLevel=7
.Set CompressionMemory=21
.Set CabinetNameTemplate="自定義CAB文件名.CAB"
"installer.inf"
"打包的msi文件名稱.msi"

     2.2. 定義installer.inf資源

[Setup Hooks]
hook1=hook1

[hook1]
run=msiexec /i %EXTRACT_DIR%\打包的msi文件名稱.msi /qn

[Version]
Signature= "$CHICAGO$"
AdvancedInf=2.0

    2.3. 定義makecab.bat

makecab.exe   /f   "cab.ddf"

    2.4. 執行makecab.bat就會生成CAB包

 

  2. 簽名

  1. 製做cer證書
    使用makecert.exe工具生成cer證書(工具在`C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin`)

cmd命令

makecert -r -n "CN=發行者名稱" -b 01/01/2012 -e 01/01/2018 -sv 證書文件名稱.pvk 證書文件名稱.cer

    注意:執行命令後將彈出私鑰密碼對話框,能夠設置或不設置私密。

  2. (可選項)將cer證書轉換爲spc證書
    使用cert2spc.exe工具(工具在`C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin`)

cmd命令

cert2spc cer證書文件名.cer spc證書文件名.spc

  3. 將cer證書轉換爲pfx證書
    使用pvk2pfx.exe工具將cer證書轉換爲pfx證書(PKCS#12證書及私鑰)(工具在`C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin`)
    cmd命令格式:

pvk2pfx /pvk pvk證書文件名.pvk [/pi pvk證書密碼] /spc cer或spc證書文件名.cer或spc [/pfx pfx證書名稱.pfx] [/po pfx證書的私密] [/f]

說明:
  若第一步中,沒有設置私鑰,那麼就`/pi pvk證書密碼`就不用填寫;
  若`/po pfx證書的私密`沒有填寫,那麼pfx證書就使用與pvk證書同樣的私鑰;
  若是存在於-pfx指定的名稱相同名稱的文件,則須要使用`/f`來覆蓋已有的.pfx文件。

示例,cmd:

pvk2pfx /pvk fsgmcc.pvk /pi gmcc123 /spc fsgmcc.cer /pfx fsgmcc.pfx  /f

  4. 經過signtool導入證書到cab的ActiveX文件
    signtool是vs2010的AuthentiCode簽名工具(使用 PKCS#7標準定義的數據結構生成待簽名文件的數字簽名,並加入到待簽名文件的PE結構中便可)。

cmd命令

signtool sign -f pfx證書文件名.pfx [-p pfx密碼] ActiveX控件文件.CAB

示例:

signtool sign -f fsgmcc.pfx DirBrowser.CAB

 

3、總結                              

  這時ActiveX的發佈工做已經完成,接下來請期待《.Net魔法堂:史上最全的ActiveX開發教程——部署篇》吧!

  尊重原創,轉載時請註明來自:http://www.cnblogs.com/fsjohnhuang/p/3823402.html ^_^肥仔John

相關文章
相關標籤/搜索