vsto - 如何使用 InstallShield 正确地重新分发 Visual Studio 2010 Tools for Office Runtime?

标签 vsto add-in installshield redistributable

使用:VS 2012, InstallShield 2012 Spring 快车

对于我的 Excel 加载项,我需要重新分发到先决条件: - Microsoft .NET Framework 4.5 完整版 - 用于 Office 运行时的 Visual Studio 2010 工具

.NET Framework 在任何情况下都没有问题。我通过设置或网络下载重新分发它。一切正常。

但是使用 VSTO 我遇到了一些麻烦: 1) “网络下载”无法正常工作。即使我使用这个建议 - http://msdn.microsoft.com/en-us/library/vstudio/cc442767.aspx#Configure

毕竟,我下载了 vstor_redist.exe (~40 Mb) 并将其添加到安装程序中。 2) 安装程序开始安装 vstor_redist.exe 并且真的安装了!但后来我看到一条奇怪的 InstallShield 消息,表明 VSTO 安装似乎失败了。 尽管如此,安装后应用程序仍能正常工作。

两个问题: 如何使用 Web 下载选项重新分发 VSTO? 如何避免无用的“安装失败信息”的出现? 这些似乎是 InstallShield 错误...

罗马

最佳答案

以我为例(Windows 8 x64 - Office x64 - Installshield LE Beta VS2012/13): 先决条件 (VSTO_Redist.exe) 检查的注册表项错误。检查我的安装的实际关键是: “HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSTO 运行时设置\v4R” 我还根据 VSTO 下载链接更新了文件 CheckSum 和文件版本:URL="http://go.microsoft.com/fwlink/?LinkId=158918"(此链接在用于发布的 Bootstrap 中提供)。

对我有用的详细编辑先决条件文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<SetupPrereq>
<conditions>
    <condition Type="32" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSTO Runtime Setup\v4R" FileName="Version" ReturnValue="10.0.40820.0" Bits="2"></condition>
</conditions>
<files>
    <file LocalFile="&lt;ISProductFolder&gt;\SetupPrerequisites\VSTOR\vstor_redist.exe" URL="http://go.microsoft.com/fwlink/?LinkId=158918" CheckSum="197e479106a8b976fe584706657b4756" FileSize="0,40058880"></file>
</files>
<execute file="vstor_redist.exe" returncodetoreboot="1641,3010" requiresmsiengine="1">
</execute>
<properties Id="YOUR GUID GOES HERE" Description="This prerequisite installs the most recent version of the Microsoft Visual Studio 2010 Tools for Office Runtime." >
</properties>

</SetupPrereq>

您需要将“YOUR GUID GOES HERE”替换为使用工具菜单中的工具生成的 GUID。 (有关更新先决条件的方法,请参阅帮助文件:http://msdn.microsoft.com/en-us/library/cc442767(v=vs.110).aspx)

上面提到的帮助文件对 x64 构建也有错误的建议。推荐的注册表项: “如果您正在为 64 位版本的 Office 创建安装程序,则整个层次结构为 HKEY_USER_SELECTABLE\Software\Wow6432Node\Microsoft\Office\Excel\Addins\SampleCompany.ExcelAddIn。” 实际上是为 All Users,在 x64 Windows 中运行的 x86 Office。

可在以下位置找到要使用的正确注册表项: VSTO add-in control does not appear automatically

最后:InstallShield LE Beta 版本 VS2012/13 将根据 a) [INSTALLDIR] 文件夹(即:“Program Files”或 x64 Windows 中的“Program Files (x86)”)或者任何组件被定义为 64 位。有关详细信息,请参阅 InstallShield 帮助文件(在索引中查找“64 位”)。 InstallShield LE 不会公开用于确定 InstallShield 完整版本中的 x86 或 x64 目标的属性“模板摘要代码”。

我希望这对某人有帮助。

关于vsto - 如何使用 InstallShield 正确地重新分发 Visual Studio 2010 Tools for Office Runtime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15863267/

相关文章:

c# - 如何修复 InstallShield 的图标

c# - 在 Outlook 加载项中以 MIME 格式 (*.eml) 保存邮件

c# - 如何从 Excel 调用 C# 库?

c# - 更改 VSTO 项目的默认命名空间

c# - vsto 加载项中的本地化

javascript - 如何在Word加载项启动时加载模板文件

installation - Installshield 在次要升级时不更新相关 DLL

installshield - 使用 InstallShield 2010 启动 exe 和 bat 文件

c# - 如何让 C# VSTO 在 .NET Framework 4.5 中构建

vb.net - 如何使用VB在Excel 2007 VSTO中生成单元格单击事件?