我最近在 Visual Studio 2011 beta 中开发了一个小的 Excel 2010 插件,并尝试立即部署该解决方案。我选择 .NET Framework 4 作为先决条件,如果目标计算机上尚未安装,则 setup.exe 会下载它。
但是,在构建时尝试将“Office 运行时工具”捕获到“发布”选项卡中的“先决条件”对话框中时,我感到很头疼。奇怪的是:在我的 Office 中,有一个旧的 2010 Visual Studio 安装,有这个设置,我可以选择条目,构建它,然后瞧:运行时已下载。
我如何告诉 Visual Studio:看,我需要这个运行时,请在安装前检查它。因为现在 setup.exe 会安装加载项,它会在第一次 Excel 启动时崩溃。
更多信息:
- 我使用单击一次部署
- C# VSTO 加载项
- 以 Excel 2010 为目标
编辑
我想我找到了解决方案:
- 我从位于“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages”的办公室 PC 中复制了 VSTOR4 目录,并将其放在我的开发人员笔记本上的同一位置。结果:未找到
- 我将它复制到 ''C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages''
- 我编辑了我的 project.csproj 以包含以下设置:
<BootstrapperPackage Include="Microsoft.VSTORuntime.4.0"> <Visible>False</Visible> <ProductName>Microsoft Visual Studio 2010 Tools for Office Runtime %28x86 and x64%29</ProductName> <Install>true</Install> </BootstrapperPackage>
问题是:这真的是正确的方法吗?会不会有我现在没有想到的问题?为什么没有选择只下载额外的引导程序(有,但对于 .NET 2.0 和一些我不使用的 MDAC 组件)?
与简单的“MSI 安装程序,完成”过程相比,VSTO 部署很痛苦,而且并不直接。不得不处理这些问题真的让我对整个插件架构有点不舒服,但那是另一回事了。