4

我最近在 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 部署很痛苦,而且并不直接。不得不处理这些问题真的让我对整个插件架构有点不舒服,但那是另一回事了。

4

1 回答 1

1

尽管您是手动完成的,但它会正常工作。或者,您可以转到项目属性、发布选项卡并单击先决条件按钮以调出先决条件对话框,您应该能够在其中看到 VSTOR40 以及其他引导程序组件。如果您在那里没有看到特定的,可能有两个原因:

  • 您的 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages 文件夹中没有引导程序包(替换为 VS2010 的 v7.0)

  • 您的 product.xml(可在上述位置找到)包含不正确的信息。

附注:您应该检查您的 product.xml 文件的 HomeSite 属性,并确保您已将其设置为 Microsoft 为该软件包提供的正确“fwlink”。fwlinks 基本上是持久的 Web 链接,ClickOnce 安装程序可以从其中下载包,因此您不必将其与您的产品一起分发。使用 Google 查找不同引导程序包的 fwlink。

于 2012-09-14T10:54:05.110 回答