我試圖在64位過程中在WiX 3.5中運行託管的自定義操作。所涉及的所有項目均配置爲以x64構建(如指定的here)。 我的理解是,這個關鍵是sfxca版本。根據我的構建日誌,它正確調用x64版本。在64位的WiX自定義操作
"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位模擬的自定義操作服務器,」和自定義操作不能正常運行。
具體而言,我試圖運行64位版本的Powershell而不是32位版本。
默認情況下,DTF ca被設置爲任意CPU。本地鉤子是32位的,但CA進程是64位。 – 2013-04-26 17:16:34
我將它從任何CPU改爲x64專門強制使用正確的sfxca版本。 – TheWhitness 2013-04-29 14:53:00
我不知道爲什麼它很重要。 sfxca只是用來啓動一切,並封送interop電話。我已經運行了64位代碼,而不必在過去這樣做。 – 2013-04-29 15:27:45