joe*_*and 13 installation vsto ms-office
只需使用MSDN中列出的产品代码{388E4B09-3E71-4649-8921-F44A3A2954A7}调用MsiGetProductInfo(),即可轻松检查VSTO 2005 SE是否已安装.
VSTO 2010/4.0运行时的产品代码是什么?或者有更好的方法来确定它是否已经安装?这是我们的安装过程.
此外,我试图找出相同的Windows Imaging Component.
Gav*_*vin 17
不幸的是,到目前为止,这里的答案并未完全覆盖所有基础.
产品代码
这似乎不可靠 - 我们正在寻找最低版本,而不是特定版本.虽然产品代码理论上只应更改为主要版本增量,但我机器上的VSTO版本 - 10.0.40303 - 的产品代码为{A0FE0292-D3BE-3447-80F2-72E032A54875}.这表明微软不一定保持稳定,所以我建议这不是一个好的选择.
文件版本
另一个选项可能是检查VSTO程序集本身的存在/版本,这些程序通常可能位于%PROGRAM FILES%\ Common Files\Microsoft Shared\VSTO\10.0中.但是我会说这个目录不能保证 - 实际目录似乎是在注册表中指定的,但显然这个解决方案现在并不比直接从注册表中获取版本更好...
注册处
因此,通过注册表可能是唯一的选择.
不幸的是,VSTO运行时版本可以出现在4个注册表位置中的任何一个:
注意:我没有这方面的明确来源 - 我正在拼凑一些信息,例如Wouter van Vugt撰写的这篇博文和这个SO答案.可能还有更多.
此外,可能存在最低版本要求,但我怀疑实际上这只会影响运行Office 2010预发行版本的用户:
用于Office运行时的Visual Studio 2010工具还附带Microsoft Office 2010.但是,在Office 2010 RTM时,Office的运行时仅支持面向.NET Framework 3.5的Office解决方案.如果您的解决方案面向.NET Framework 3.5,则可以在安装Office 2010或安装了Office Runtime可重新分发的Visual Studio 2010工具的情况下运行.如果Office解决方案以.NET Framework 4为目标,则必须重新分发Visual Studio 2010 Tools for Office运行时(引用).
小智 10
最简单的方法是检查注册表.
HKLM\Microsoft\vsto运行时设置\ v4\Install
HKLM\Microsoft\vsto运行时设置\ v4R\VSTORFeature_CLR40(这是用于4.0 Office扩展)