2010-08-02 172 views
6

我已經構建了多個Office加載項(Excel,Word,PowerPoint和Outlook)。我還編寫了一個基於Wix#的MSI安裝程序來安裝這些加載項。我設法正確地做了所有事情,但現在我很困惑如何註冊加載項。如何從Wix#MSI安裝程序註冊VSTO加載項

可以通過雙擊Windows資源管理器中伴隨的VSTO文件以交互方式進行此操作,並且它會被註冊。使用RegEdit挖掘顯示rundll32.exe "C:\Program Files\Common Files\Microsoft Shared\VSTO\vstoee.dll",InstallVstoSolution %1被調用。

我發現的另一種方法是使用在%CommonProgramFiles%\Microsoft Shared中找到的實用程序VSTOInstaller.exe,它提供了正確的命令行。

有沒有人使用Wix或Wix#和VSTO加載項的經驗?我應該編寫一個自定義操作來執行此操作,還是需要完成某些Wix特定的操作?

+2

你要和維克斯的最大問題是自舉所有prereqs的。 .NET,VSTOR(x86/x64)以及舊版XP SP2的Windows映像組件和Windows Installer 3.1。否則,WiX可以處理你需要做的所有安裝程序。 – 2010-09-19 03:18:11

+1

+1謝謝!使用Oleg Shilo的[優秀Wix#](http://www.csscript.net/WixSharp.html)使這成爲可能。最新版本包括可輕鬆鏈接的引導程序,以便在啓動MSI安裝程序之前安裝多個先決條件。 – wpfwannabe 2010-09-19 18:59:05

回答

2

這取決於您要定位的Office版本。我看着調用VSTOInstaller,但是我發現它只爲當前用戶註冊。下面是一篇博客文章,我通過其他鏈接寫了其他鏈接,這些博客幫助我全面瞭解了這一點。基本上,我是能夠進行逆向工程什麼是VSTO配置文件在做,並與一些自定義操作註冊證書和Office 2010的

VSTO經驗教訓 http://blog.deploymentengineering.com/2008/04/vsto-lessons-learned.html

產生隨機數做幾乎所有的純MSI /維克斯

編輯:那篇文章已經過去幾年了,Office 2007現在「技術上」支持像Office 2010一樣的HKLM AddIn註冊。此外,VSTOR運行時發生了變化,並且您可能不得不滿足一些新的位錯問題。更新的文章可以:

Office 2010 Bitness Pain

+0

對不起,我沒有提到這一點,但我的目標是Office 2007和2010.至於解釋VSTO文件,我寧願不,如果我可以。 rundll32方法看起來相當不錯,但我不確定如何使用自定義操作將其插入Wix。 – wpfwannabe 2010-08-02 15:08:05

+0

我用最近的文章更新了我的答案。你不需要調用VSTOInstaller。只需寫入註冊表,如file:// [INSTALLLOCATION] MyAddIn.vsto | vstolocal。如果您安裝到ProgramFiles,則不必使用證書進行備份。 – 2010-09-19 03:16:19

+0

我有辦公室2013年安裝,你知道如果選擇「辦公室2010年及以後」應該工作?我有一個問題在這裏:http://stackoverflow.com/questions/16843414/vsto-c-sharp-project-using-c-wix-vs-installshield-le-with-vs-2012 – 2013-05-30 20:14:12

相關問題