시작 조건은 무엇입니까? x86 설치 프로그램이 64 비트 시스템에서 실행되는 것을 막기로되어 있지만 효과가없는 것으로 보입니다.64 비트 시스템에서 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 ?>
내 문제를 해결하고 싶지만, 나는 또한이 유형의 문제를 해결하기위한 전략에 대해 듣고 관심을 가질 것입니다. LaunchCondition table 정의에 따르면
64 비트 패키지가 32 비트 시스템에서 중단되기 전에 LaunchConditions에 도달하지 않는다는 점에 유의하십시오. 그래서 그 사건에 대한 메시지를 더 잘 만들 필요는 없습니다. –
오른쪽! 힌트를 가져 주셔서 감사합니다, 마이클! 내 대답을 업데이 트하겠습니다 ... –
@ 얀, 답장을 보내 주셔서 감사합니다. 내가 너를 정확히 이해할 수있게 해달라고, 나는 네가하는 말은 내가 방금 나의 상태에서 단순한 논리 오류를 만들었다 고 생각한다. 이제 나는 그것을 보았고, 나는 내 실수를 보았다고 생각한다. 다시 작성된 버전뿐만 아니라 "아니오"를 "예"로 변경하면 문제가 해결 될 것이라고 생각하는 것이 옳은 것입니까? 그래서, 내가 남을 것이다 : 'VersionNT64 AND ($ (var.Win64) = "예")' –