Условия запуска, гарантирующие, что 64-битный установщик используется на 64 -битная система

Что случилось с моим условием запуска? Предполагается, что он предотвращает запуск установщика x86 в 64-битной системе, но, похоже, не имеет никакого эффекта.

<!-- Launch Condition to check that x64 installer is used on x64 systems -->
<Condition Message="64-bit operating system was detected, please use the 64-bit installer.">
  <![CDATA[VersionNT64 AND ($(var.Win64) = "no")]]>
</Condition>

var.Win64 получается из переменных MSBuild следующим образом:

  <!-- Define platform-specific names and locations -->
  <?if $(var.Platform) = x64 ?>
  <?define ProductName = "$(var.InstallName) (x64)" ?>
  <?define Win64 = "yes" ?>
  <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
  <?define PlatformCommonFilesFolder = "CommonFiles64Folder" ?>
  <?else ?>
  <?define ProductName = "$(var.InstallName) (x86)" ?>
  <?define Win64 = "no" ?>
  <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
  <?define PlatformCommonFilesFolder = "CommonFilesFolder" ?>
  <?endif ?>

Я хотел бы решить моя проблема, но мне также было бы интересно узнать о стратегиях устранения неполадок этого типа.

7
задан Tim Long 11 August 2011 в 21:47
поделиться