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


一、 前言                              

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

 

二、廢話少講,馬上看步驟!                      

   1. 打包

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

    

    1.2. 右鍵“添加”->“項目輸出”,選擇ActiveX控件為“主輸出”

    

     1.3. 雙擊“解決方案資源管理器”的“檢測到的依賴項”下的 Microsoft.NET Framework 並修改“啟動條件”下 .NET Framework 的Version為.NET             Framework2.0 

    

     1.4. 修改“主輸出來自XXX”的 Register 屬性為 vsdrpCOM

     

 

  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

 

三、總結                              

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM