빌드 환경에 따라 설정 스크립트를 유연하게 만들려면 다음 정의를 사용하고 있습니다.플랫폼 속성을 사용하는 WiX x86/x64 빌드
<?if $(var.Platform)=x64 ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?define win64Flag = "yes"?>
<?define TargetConfigurationPath = "bin\x64\Release"?>
<?else ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?define win64Flag = "no"?>
<?define TargetConfigurationPath = "bin\x86\Release"?>
<?endif ?>
자세한 구성 요소의 모든 Win64 특성에서 사용하는 win64Flag 변수에 대해 신경 써야합니다. 나는 Platform "Platform"속성에서도 Platform을 사용하고 있습니다. 그러나 다시 Win64를 속성을 얻기 위해, 변수 i 이런 식으로 사용
Win64="$(var.win64Flag)"
을 그리고 난 항상 경고가 YesNoType 속성이 문을 사용하는 것이 잘못되었음을 말해 얻을.
나는이 호출 candle.exe를 사용하여이 물건을 짓고 있어요 :
candle.exe -ext WixUtilExtension -dPlatform=x86 "Deployment\WiX Setup Project\SetupScript.wxs" -out "Deployment\TempBuildOutput\SetupScript x86.wixobj"
light.exe -ext WixUIExtension -ext WixUtilExtension "Deployment\TempBuildOutput\SetupScript x86.wixobj" -out "Deployment\TempBuildOutput\Installer_x86.msi"
을 내가 설치가 완료 경우 응용 프로그램을 자동 시작 내 스크립트, 일부에서 CustomAction을 얻었다. 이것은 x64 빌드에서는 잘 작동하지만 x86 빌드에서는 제대로 작동하지 않습니다. 그게 왜 내가 어떻게 사용하는 방식으로 Win64의 속성, 또는 더 나은 뭔가 잘못 될 수도 있다고 생각합니다.
하지만 내 생각에 따르면이 파일은 x64 (Program Files) 및 x86 (Program Files (x86))의 적절한 폴더에 설치되므로이 코드를 사용하여 올바른 내용을 만들어야합니다. 하지만 설치를 마친 후 내 앱이 시작되지 않는 이유는 무엇인가 물어 봅니다.
저는 x64 Windows에서 작업하고 있습니다. x86 자동 시작 응용 프로그램을 시작하지 못하게 할 수 있습니까?
내 Win64 특성 사용에 대한 경고를 해결하는 방법이 있습니까?