近日因為開發一個Outlook插件,用到了最新的Visual Studio開發工具,期間費了不少周折,主要體現在部署上面。這里整理一下給大家參考參考
1. 選擇合適的模板,Visual Studio 2010中支持對Office 2007和Office 2010開發兩種解決方案
一種是所謂的插件,一種是所謂的文檔。其實也很好理解,插件是指通用的功能,例如你可以給Outlook添加一個特殊的工具欄,文檔則是某個特殊的Office文檔吧,可以實現特定的功能,例如你可以設計一個特殊的Word文檔。
值得注意的是,不支持Office 2003的開發。
經過測試,如果你做的插件,是既需要用於Office 2007,又需要用於Office 2010,則你可以選擇Office 2007的模板。這應該也是比較好理解的。
至於具體功能的開發,我這里就不展開了。大家可以參考微軟的有關文檔。例如
http://msdn.microsoft.com/en-us/library/bb726434(v=office.12).aspx
注意,我建議大家選擇.NET Framework 4.0, 因為這個版本,可以將Office的那些COM組件,嵌入到插件中,這樣就可以省去部署所謂的PIA (Primary Interop Assembly)的步驟。
2.測試項目
測試Office插件很簡單,你只需要在Visual Studio 2010中對項目進行編譯即可
正常情況下,就可以在Outlook中看到這個插件
如果要刪除這個插件,則只需要在Visual Studio 2010中對項目進行清理就可以了
3.部署項目
由於測試階段是如此容易,導致很多朋友(包括我在內)想當然地覺得部署肯定也是很容易。遺憾的是,現實給了我們殘酷的教訓。你必須很仔細地閱讀下面這篇文章
http://msdn.microsoft.com/en-us/library/ff937654.aspx
這篇文章十分重要,請不要貪圖快而略過某些步驟,我可以證明,如果按這個文章打包的安裝程序,是可以安裝成功的。
要部署該項目,目標用戶機器還必須具備如下的一些條件
- 1. 操作系統必須是Windows XP SP2或者更高版本,推薦Windows 7
- 2. 需要安裝Office 2007或者Office 2010
- 這里要注意,必須為Office 2007或者Office 2010安裝“.NET編程性支持”這個功能。更加需要注意的是,要安裝這項功能,需要先裝好.NET Framework 2.0。對於這一點,我實在也感到很意外,但沒有辦法,這是先決條件。不過,好消息是:
- 正常情況下,Windows XP如果啟用了自動更新的話,應該已經裝好了.NET Framework 2.0
- 默認情況下,Windows 7是自帶了.NET Framework 2.0
- 3. 需要安裝.NET Framework 4.0 Client Profile或者.NET Framework 4.0
- 4. 需要安裝Visual Studio 2010 Tools for Office Runtime
以上整理給有需要的朋友參考參考