在我的情况下(Windows 8 x64 - Office x64 - Installshield LE Beta VS2012/13):先决条件(VSTO_Redist.exe)检查的注册表项是错误的。检查我的安装的实际关键是:“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSTO Runtime Setup\v4R” 我还根据 VSTO 下载的链接更新了文件 CheckSum 和文件版本:URL="http:// go.microsoft.com/fwlink/?LinkId=158918"(此链接在 Bootstrap for Publishing 中提供)。
对我有用的详细编辑的先决条件文件如下:
<?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="<ISProductFolder>\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。” 实际上适用于所有用户,x86 Office 在 x64 Windows 中运行。
可以在以下位置找到要使用的正确注册表项:
VSTO 加载项控件不会自动出现
最后:InstallShield LE Beta 版本 VS2012/13 将根据 a) [INSTALLDIR] 文件夹(即:在 x64 Windows 中是“Program Files”还是“Program Files (x86)”)或如果任何组件被定义为 64 位。有关详细信息,请参阅 InstallShield 帮助文件(在索引中查找“64 位”)。InstallShield LE 不公开用于确定 InstallShield 完整版本中的 x86 或 x64 目标的属性“模板摘要代码”。
我希望这对某人有所帮助。