從開始寫VSTO的插件開始,安裝部署一直就是一個很大的難題,其實難題的原因主要是針對XP+2007而言。在Win7上,由於基本上都預裝了.net framework,所以安裝起來其實問題不大。
主要需要解決的問題:
①.net環境(添加安裝包)
②VSTOR(添加安裝包)
③PIA(代碼中引用兩個DLL,在打包時加上)
解決方案步驟:
1、解決PIA的問題,是需要在代碼中進行設置的,具體步驟如下:
步驟一:引用中的Office.dll,設置為復制本地(如果你不把嵌入互操作類型改成False,是沒辦法設置的哦)
步驟二:添加引用Microsoft.Vbe.Interop,記得要選擇和你環境一致的版本哦(我默認添加的Excel 2010的Add-In中,引用列表里沒有,所以需要添加)
步驟三:引用中的Microsoft.Vbe.Interop.dll設置為復制到本地(同樣,嵌入互操作類型不設置為false,你是無法改變這個狀態的哦)
步驟四:編譯成Release吧
2、打包工具升級為10.0以上版本,筆者嘗試使用Advanced Installer 10.0成功,之前用Advanced Installer 9.8,怎么打包都失敗,所以打包工具的版本很重要。
3、軟件選擇OK之后,就開始我們的打包之旅,解決打包問題的三要素也會在這里體現哦:①.net環境②VSTOR③PIA
步驟一:如圖所示,新建Office Add-In項目(此處是以Office Add-In程序為例哦)
步驟二:設置相關細節,單擊下一步,到如下界面時,選擇exe或者msi即可。
步驟三:設置保存位置及生成安裝包名稱,到如圖所示,選擇新建步驟的類型時,選擇創建VSTO Office加載項
步驟四:如圖所示,選擇從Visual Studio項目中導入文件。
步驟五:配置當然選Release了,這個就不細說了,一般情況下,默認選項即可,如圖,配置工程時的兩個DLL,一定要勾選上哦(③PIA)。
步驟六:根據自己的情況,選擇哦
步驟七:后面的設置隨意,按照自己的情況來,到了設置配置加載項的啟動條件這步了,啥都可以不用選哦
步驟八,.net framework一定要加,VSTOR一定要加,最后那個PIA呢,是前面的解決方案就不是這里啦
我的是.net 4.0,所以選了.net4.0哦(①.net②VSTOR)
注:關於.net framework,07默認是3.5, 10是4.0,13是4.5,需要兼容的話,必需選擇4.0
最后,剩下的隨意設置,然后就到了構建項目了
打開輸出文件夾,可以看到如下內容:
最終,小程序完美地在Win7+2010還有Xp+2007的機器上安裝成功,並且使用OK了哦。
在此,感覺車車和小鐵匠贊助的思路。