首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过InstallShield正确地重新分发Visual Studio2010 Tools for Office Runtime?

如何通过InstallShield正确地重新分发Visual Studio2010 Tools for Office Runtime?
EN

Stack Overflow用户
提问于 2013-04-07 22:05:17
回答 3查看 12.1K关注 0票数 2

使用: VS 2012、InstallShield 2012春季快递

对于我的Excel外接程序,我需要重新分发到必备组件:-MicrosoftExcelFramework4.5完整版- Visual Studio2010 Tools For .NET Runtime

在任何情况下,.NET框架都没有问题。我通过安装或网络下载来重新分发它。一切都很好。

但是对于VSTO,我遇到了一些麻烦: 1) "web下载“不能正常工作。即使我使用这个建议- http://msdn.microsoft.com/en-us/library/vstudio/cc442767.aspx#Configure

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

两个问题:如何使用web下载选项重新分发VSTO?如何避免出现无用的“安装失败信息”?看起来这些都是InstallShield的bug。

罗马

EN

回答 3

Stack Overflow用户

发布于 2013-10-24 06:34:59

在我的例子中(Windows8 x64 - Office x64 - Installshield LE Beta VS2012/13):必备项(VSTO_Redist.exe)检查的注册表项是错误的。检查我的安装的实际关键是: VSTO \V4R“我还根据"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSTO下载的链接更新了文件CheckSum和文件版本: URL="http://go.microsoft.com/fwlink/?LinkId=158918”(此链接在用于发布的引导程序中提供)。

为我工作的详细编辑的先决条件文件如下:

代码语言:javascript
复制
<?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 to HERE“替换为使用tools菜单中的工具生成的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.”实际上是为所有用户提供的,在x64视窗中运行的x86办公软件。

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

最后: InstallShield LE Beta versionVS2012/13将根据a) INSTALLDIR文件夹(即:在x64窗口中是“程序文件”还是“程序文件(x86)”)或是否任何组件被定义为64位来确定目标(x86或x64)。有关详细信息,请参阅InstallShield帮助文件(在索引中查找"64位“)。InstallShield LE不公开“模板摘要代码”属性,该属性用于确定完整版InstallShield中的x86或x64目标。

我希望这对某些人有帮助。

票数 6
EN

Stack Overflow用户

发布于 2013-11-21 01:05:53

它显示这条消息是因为安装后条件仍然失败,很可能是由于32位或64位操作系统上的路径差异(正如@AlBear指出的那样)。如果你的目标是两者,你可以为Install Shield LE创建2个pre-req文件,每个文件都有自己的operatingsystemcondition检查bitness。将两个pre-req都添加到您的单个安装程序中,只会执行适当的一个(基于operatingsystemcondition):

32位

代码语言:javascript
复制
<conditions>
    <condition Type="32" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VSTO Runtime Setup\v4R" FileName="Version" ReturnValue="10.0.40309" Bits="2"></condition>
    <operatingsystemconditions>
        <operatingsystemcondition Bits="1"/>
    </operatingsystemconditions>
</conditions>

64位

代码语言:javascript
复制
<conditions>
    <condition Type="32" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VSTO Runtime Setup\v4R" FileName="Version" ReturnValue="10.0.40309" Bits="2"></condition>
    <operatingsystemconditions>
        <operatingsystemcondition Bits="4"/>
    </operatingsystemconditions>
</conditions>
票数 1
EN

Stack Overflow用户

发布于 2013-04-09 02:51:24

我有时会看到InstallShield提供的.PRQ文件变成了OBE (被事件克服)。例如,我看到微软重新发布了redist,并保持URL (fwlink)不变。但是,PRQ是针对较旧版本的文件编写的,导致文件大小和/或文件散列无效。还有一个工件需要搜索、评估以确定是否需要安装,并重新评估以确认安装是否成功。

因此,基本上将PRQ文件发送到Prereq编辑器工具,并验证它的所有假设仍然正确。根据需要进行修改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15863267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档