WiX 3.5에서 관리되는 사용자 지정 동작을 64 비트 프로세스로 실행하려고합니다. 관련된 모든 프로젝트는 x64 (지정된 here)로 빌드되도록 구성됩니다. 저의 핵심은 sfxca 버전입니다. 내 빌드 로그에 따르면 x64 버전을 제대로 호출하고 있습니다.WiX 사용자 지정 동작 (64 비트)
"C:\Program Files (x86)\Windows Installer XML v3.5\bin\..\sdk\MakeSfxCA.exe" "C:\Projects\WiXInstaller\MyCustomActions\obj\x64\Debug\MyCustomActions.CA.dll" "C:\Program Files (x86)\Windows Installer XML v3.5\bin\..\sdk\x64\SfxCA.dll" "C:\Projects\WiXInstaller\MyCustomActions\obj\x64\Debug\MyCustomActions.dll" "C:\lib\wix35\Microsoft.Deployment.WindowsInstaller.dll;..\builds\source\OtherDll.dll;C:\Projects\WiXInstaller\MyCustomActions\CustomAction.config"
하지만 설치 프로그램을 실행하면, 로그는 여전히 "안녕, 난 당신의 32 비트 타인을 사칭 한 사용자 지정 작업 서버"라고하고, 사용자 지정 작업이 제대로 실행되지 않습니다.
특히 저는 32 비트 버전 대신 Powershell의 64 비트 버전을 실행하려고합니다.
DTF ca는 기본적으로 모든 CPU로 설정됩니다. 기본 훅은 32 비트이지만 CA 프로세스는 64 비트입니다. –
올바른 sfxca 버전을 강제로 지정하기 위해 모든 CPU에서 x64로 변경했습니다. – TheWhitness
나는 왜 그것이 중요할지 모르겠다. sfxca는 모든 것을 시작하고 interop 호출을 마샬링하는 데 사용됩니다. 나는 과거에 이것을하지 않고도 64 비트 코드를 실행했다. –