如何检测Net Core 3.1 Windows桌面应用程序运行时已安装

时间:2019-12-17 00:04:52

标签: wix

我正在尝试检测是否安装了net core 3.1 Windows桌面应用程序运行时,如果运行,则不运行安装程序。

但是,在安装了net core 3.1 Windows桌面应用程序运行时的测试系统上,我可以看到安装程序正在运行,并且在查看日志NetCoreInstalled后,即使该目录存在,其计算结果也为0。我该如何工作?

<Fragment>

    <util:FileSearch 
      Id="NetCoreInstalled" 
      Variable="NetCoreInstalled"
      Path="[ProgramFiles64Folder]dotnet\shared\Microsoft.WindowsDesktop.App\3.1.0"
      Result="exists" />
    
    <PackageGroup Id="NetCore310x64">


        <ExePackage
					Id="NetCore310x64"
					Cache="no"
					Compressed="yes"
					PerMachine="yes"
					InstallCondition="(VersionNT64) AND (NOT NetCoreInstalled)"
          DetectCondition="NetCoreInstalled"
          InstallCommand="/quiet /passive"
					Vital="yes"
					Permanent="yes"
					SourceFile="..\..\..\Requirements\windowsdesktop-runtime-3.1.0-win-x64.exe"
					Name="Redist\windowsdesktop-runtime-3.1.0-win-x64.exe" />

    </PackageGroup>


  </Fragment>

1 个答案:

答案 0 :(得分:1)

您要DirectorySearch,而不是FileSearch