Windows installer 检测Office 2010应用程序的启动条件

Windows installer 检测Office 2010应用程序的启动条件,windows-installer,ms-office,setup-project,setup-deployment,Windows Installer,Ms Office,Setup Project,Setup Deployment,我试图使用VS2008创建一个安装项目 是否仍然可以检测是否安装了特定的Office 2010应用程序? (作为先决条件)。例如:我想检测客户端计算机上是否安装了Powerpoint 2010 我试图在lauch条件下使用windows installer搜索选项,但找不到 powerpoint 2010的组件id是什么 有没有其他方法可以检测到同样的情况?(可以编程)以下是使用WiX检查Office 2010(特别是Word)的相关代码。首先检查“App path”键,然后检查引用的EXE文件

我试图使用VS2008创建一个安装项目

是否仍然可以检测是否安装了特定的Office 2010应用程序?
(作为先决条件)。例如:我想检测客户端计算机上是否安装了Powerpoint 2010

我试图在lauch条件下使用windows installer搜索选项,但找不到
powerpoint 2010的组件id是什么


有没有其他方法可以检测到同样的情况?(可以编程)

以下是使用WiX检查Office 2010(特别是Word)的相关代码。首先检查“App path”键,然后检查引用的EXE文件的文件版本。您应该能够在VS2008中执行类似的操作

    <Property Id="WORDEXE" Secure="yes">
        <RegistrySearch Id="RegSearch_WORDEXE" Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe" Type="file">
            <FileSearch Name="WINWORD.EXE" MinVersion="14.0.0.0" />
        </RegistrySearch>
    </Property>

下面列出了PowerPoint 2010的组件Id。您应该能够对其中一个进行安装程序搜索,以确定是否安装了PowerPoint

{EE8D8E0A-D905-401D-9BC3-0D20156D5E30} - 64-bit PowerPoint 
{E72E0D20-0D63-438B-BC71-92AB9F9E8B54} - 32-bit PowerPoint 

Ed

注册表和文件搜索可以同时进行吗?使用注册表搜索中找到的值作为文件搜索的输入??是的,这正是我在上述示例中所做的。在查找文件时读取注册表值,然后在该文件上仅与minversion匹配,并且仅当注册表和文件匹配时才设置属性。纯VS2008安装项目的任何等效项,但不包括WIX。此处为Word 2010的id值:x32
019C826E-445A-4649-A5B0-0BF08FCC4EEE
,x64
C0AC079D-A84B-4CBD-8DBA-F1BB44146899