64-bit WiX user actions

I am trying to run a managed custom action on WiX 3.5 as a 64 bit process. All involved projects are configured to build on x64 (as indicated here ). I understand that the key to this is the sfxca version. According to my build log, it issues the x64 version correctly.

"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" 

But when I run the installer, the log still says: "Hi, I am your 32-bit fake user action server," and the user action does not work correctly.

In particular, I am trying to run a 64-bit version of Powershell instead of a 32-bit version.

+4
source share
1 answer

If you explicitly compile your managed code into 64-bit, DTF will correctly load your custom action into a 64-bit user action server. By default, managed code compiles to Any Processor, which will load the user action into the 32-bit user action server.

Hope this helps!

+6
source

All Articles