2010-08-02 144 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

相关问题