標籤:
工作中遇到一個資料處理自動化的問題,於是打算開發一個基於excel的小工具。在業餘時間一邊自學Excel開發一邊動手實踐,最近終於完成了雛形。抽空把一些知識寫下來以備今後參考,因為走的是盲人摸象的野路子,幼稚與錯誤請多包涵。
開發環境基於VSTO(沒有用VBA),具體配置:visual studio 2010,VB .Net,excel 2007,文檔層級的定製程式。
因為是自用的小工具,對部署的要求很低,有個安裝檔案即可,也不要求相容老版本的office。這樣最簡單的就是使用vs2010的publish功能,但實際操作仍然不是一帆風順。因為發布的內容除了自己的代碼,還涉及一系列部署依賴項。可以通過右鍵點擊項目工程-->properties-->publish-->prerequisites查看與設定當前項目的依賴項。對於我的工程來說有3個:
- .NET framework 4 Client profile
- vs 2010 tools for office runtime
- windows installer 3.1
這些依賴項的預設安裝方式是通過web安裝,不適合我的部署要求(隔離的區域網路),所以在這個介面修改為和本地程式一起發布。然後右鍵項目工程 -->publish,進入發布嚮導介面,一路向前,預設情況會在工程檔案目錄下產生一個publish目錄,裡麵包含以下內容:
- application files目錄:裡面是自己代碼的發布檔案
- DotNetFX40Client目錄:裡面是.net依賴檔案
- VSTOR40目錄:裡面是vsto依賴檔案
- windowsInstaller3_1目錄:安裝依賴檔案
- xxxx.vsto檔案:安裝配置
- xxxx.xlsx檔案:程式檔案,我這裡是文檔級的定製程式
- setup.exe檔案:安裝檔案
安裝的時候把整個publish目錄拷貝到目標機器,然後雙擊setup,會自動先安裝依賴項,然後再安裝我們的程式。
對於比較新的作業系統來說這些就足夠了,比如windows 2008 server sp2,但我的環境中還有windows 2003 server 64bit的機器,這時會安裝失敗,這個環境問題搞了我很長時間,google了好久才在stackoverflow找到一個文章,結論是需要事先安裝 Windows Imaging Component (WIC,可以去微軟下載相應的版本)。我開發機器上以前就下載有這個檔案,安裝搞定。
Excel開發學習筆記:發布VSTO下的Excel開發項目