VSTO详细打包过程
我們開發完成一個插件之后,當然是打包發布給其他人安裝使用。
打包的作用是安裝必要的運行環境和減少安裝的難度。VSTO自帶有個發布安裝的功能,位置如下圖:
該功能生成的安裝包有自動檢查所需要的.Net框架和VSTO組件并下載和安裝。但其最后安裝的位置我們不能自己定義,會自動把插件安裝到用戶的AppData目錄里面。
so~ 還是考慮其他方案。另外鑒于C#開發的東西基本是公開源碼的,需要對生成的dll文件進行一定混淆加密處理。整理了一套流程。如下圖:
所需要的軟件可以到這里下載:http://pan.baidu.com/s/1i4OuVZn
下面開始詳細講解打包過程,圖片有點多。
?
1、用Release方式生成項目
?
C#生成項目程序有兩種方式:Debug和Release。Release方式體積更小、運行更快。
按照上圖修改方式之后,再右鍵項目,生成:
生成完畢之后,可以在項目目錄中的,bin/Release中看到項目文件。我的項目文件如下,這些都是需要打包的。
?
2、DLL代碼混淆
很多人不愿意用VSTO做插件,除了入門麻煩(需要學習C#和Office相關的東西)之外,還有就是生成的項目文件基本是源碼。稍微反編譯一下,就能被看得清清楚楚。
這里有兩個dll文件,其中Microsoft.Office.Tools.Common.v4.0.Utilities.dll不需要處理。只需對我們自己代碼的dll文件處理即可。包含我的代碼那個文件是DTPT.dll。
?
混淆工具:Eziriz .NET Reactor。界面如下:
混淆之前,記得備份一下生成的dll。我一般混淆采用如下設置:
再點擊左邊的protect生成即可。
沒什么問題,點擊Browse Folder按鈕,打開混淆生成的文件,復制替換項目文件。測試一下所有功能是否能夠正常使用!
因為有時候,代碼混淆會導致某些代碼執行不了。
勾選的混淆選項越多越容易導致混淆之后的文件不能使用。但勾選越少越容易被反編譯,真矛盾。我多次測試,發現勾選這3個是比較保險的。有時不行,去掉Obfuscation。
若混淆后,有功能可能不能使用。則需要斟酌去掉某些混淆選項,再重新生成測試,直到混淆文件可以完全使用。
?
3、創建打包項目
打包工具:Advanced Installer
新建一個打包工程,選擇如下:
New --> Add-Ins --> Office Add-In --> CreateProject
?
輸入你插件的名稱和組織(公司或網站),下一步。
?
這一步是要打包成什么程序,這個打包工具建議用msi格式,下一步。
?
設置打包這個工程保存的位置,以及打包發布的位置,下一步。
?
由于我們使用VSTO開發的,當然選擇第1個。再繼續。
?
選擇你VSTO項目的解決方案sln文件。再下一步,將會自動讀取項目的內容。
?
選擇使用Release生成的項目文件,再下一步。
?
默認勾選即可。若你還有什么文件是必備的沒有被勾選,自行勾選即可,再繼續下一步。
?
這一步很重要,盡管我開發用vs2013,我還是選擇都2010。2010兼容性比較好,可以兼容2007、2010、2013、2016等版本。后面還會根據這個找到所需的環境。設置完成之后,下一步。
?
如上圖設置,這些都是一些基本設置。填上自己項目相關信息即可,繼續下一步。
?
這一步也會是比較重要,選擇.net版本。若不知道你VSTO使用哪個.net版本,可以帶VSTO項目,在“項目”-->“屬性”-->“應用程序”中可以看到。
另外,最后一個不要勾選,后面有相關設置。
下一步,步驟還有不少。
?
先勾選,添加.net框架。若你也是使用4.0版本的,注意不要選擇4.0 Client Profile,一定要選擇4.0完整版本。
這里會自動添加下載地址。當然,你也可以改成你服務器的下載地址。
另外,這里建議勾上靜默安裝這些環境運行包。先別點下一步,這一頁還沒設置完成。
?
勾選VSTO Runtime,這次默認配置即可。必備環境這兩個即可,可以下一步了。
?
這個步驟是選擇安裝程序的語言,根據自己需求選擇即可,下一步。
?
這個是填寫服務條款,就是不同意不給安裝。自行根據需要填寫即可,下一步。
?
點“完成”,構建打包項目。
?
相關設置都可以在這里找到,英語盲的話,自己查字典。下面再說一些我個人認為要注意的地方。
?
4、完善打包工程
一般我都會修改這個版本號,和去掉Comments的描述。
?
看看Install Parameters,這里需要注意兩個地方。修改默認安裝路徑和勾上Run as administrator(用管理員身份運行)。
默認安裝路徑我都是[ProgramFilesFolder]DTPT,其中[ProgramFilesFolder]是指C判斷的Program Files文件夾,DTPT是我的項目名稱。
?
打開Digital Signature,你是用中文版的,不知道這個是哪個?對照圖標和位置打開即可。
去掉Time stamp URL。
?
這一步很重要,打開Prerequisites。找到VSTO Runtime 4.0勾選(會彈窗提醒是否下載,點“否”),這個在Web Server分組上面。
再將其拖動到Pre-install中,這個是指安裝時就檢查并處理。如下圖:
?
再選擇這個VSTO Runtime,打開Setup Files選卡,設置下面3個。
這個是為了設置靜默安裝,不過這里測試達不到預想的效果。這些參數是參考.net設置,可能這里參數不對,若知道的話歡迎留言交流。
?
打開Registry,這個是寫注冊信息。其中[Manufacturer]項是無用的,刪掉。這里你也可以添加一些你所需的注冊信息。
?
最后,打開Media,此處是設置安裝包輸出的。這里我之前原本想只生成一個exe程序。但發現一個exe程序有問題,還是生成一個msi和exe程序,改一下默認命名。
?
5、發布生成安裝包
找到這個菜單中的Run,點擊生成安裝包。
我生成的安裝包如下:
可以在前面設置的打包發布位置找到。其中package.msi和setup.exe是安裝包,setup.exe是入口程序。
這里我會多一個en文件夾。因為我選擇了兩種語言,外面這個是中文安裝包,里面這個是英文安裝包。
來源:http://yshblog.com/blog/97
總結
以上是生活随笔為你收集整理的VSTO详细打包过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Laravel Debugbar
- 下一篇: 计算机话筒技术指标,话筒指标与调音台电平