Я пытаюсь запустить управляемое настраиваемое действие в WiX 3.5 в виде 64-битного процесса. Все задействованные проекты сконфигурированы для построения в x64 (как указано here). Я понимаю, что ключом к этому является версия sfxca. Согласно моему журналу сборки, он правильно выдает версию x64.WiX Custom Actions в 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"
Но когда я запустить программу установки, журнал до сих пор говорит: «Здравствуйте, я ваша 32bit сервер олицетворенных пользовательских действий,» и настраиваемое действие не работает правильно.
В частности, я пытаюсь запустить 64-разрядную версию Powershell вместо 32-разрядной версии.
По умолчанию DTF ca установлен в любой процессор. Собственный крючок - 32 бит, а процесс CA - 64 бит. –
Я изменил его с любого процессора на x64 специально для принудительной версии sfxca. – TheWhitness
Я не уверен, почему это имеет значение. Sfxca просто используется для запуска всего и маршалирования вызовов interop. Я запустил 64-битный код без необходимости делать это в прошлом. –