Question

I am trying to run a managed custom action in WiX 3.5 as a 64 bit process. All projects involved are configured to be built in x64 (as specified here). My understanding is that the key to this is the sfxca version. According to my build log, it is calling the x64 version properly.

"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 "Hello, I'm your 32bit Impersonated custom action server," and the custom action doesn't run correctly.

Specifically I am trying to run the 64 bit version of Powershell instead of the 32 bit version.

Était-ce utile?

La solution

If you explicitly compile your managed code to be 64-bit then DTF will correctly load your custom action into the 64-bit custom action server. By default managed code compiles to "Any CPU" which will cause your custom action to be loaded in the 32-bit custom action server.

Hope that helps!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top