Hi,
Feel free to email me at daleq@messagegate.com for additional details or questions. This is related to this thread. http://www.nabble.com/WixCA-CAQuietExec-does-not-support-x64---correct--td16771552.html#a16771552
I'm trying to create a custom action that will run the 64-bit version of PowerShell.exe so I can create Exchange 2007 agents. Everything I've tried has resulted in 32-bit processes;
cmd.exe 32
powershell.exe 32
showing up in the process list instead of the 64-bit versions.
I'm using the latest weekly build, Windows Installer Xml Compiler version 3.0.4214.0.
My Wix code looks like this;
<?define append_log = '>> "c:\here.log"' ?>
<?define cmd_c = '"[WindowsFolder]system32\cmd.exe" /c ' ?>
<?define cmd_stamped = '$(var.cmd_c) echo "Running PowerShell" $(var.append_log) & ' ?>
<?define powershell_exe = '[WindowsFolder]system32\WindowsPowerShell\v1.0\PowerShell.exe' ?>
<CustomAction Id="MG_CA_AGENT_INST_CMD" Property="QtExecCmdLine" Value="$(var.cmd_stamped) $(var.powershell_exe) -Command ". $(var.agent_script) INSTALL " $(var.append_log)" />
<CustomAction Id="MG_CA_AGENT_INST" BinaryKey="WixCA" DllEntry="CAQuietExec" Return="ignore" />
I've manually set Set-ExecutionPolicy Unrestricted in powershell prior to running my install (another thing to worry about later).
Here is what my verbose log looks like;
Action 21:50:20: MG_CA_AGENT_INST_CMD.
Action start 21:50:20: MG_CA_AGENT_INST_CMD.
MSI (s) (24:FC) [21:50:20:500]: PROPERTY CHANGE: Adding QtExecCmdLine property. Its value is '"C:\WINDOWS\system32\cmd.exe" /c echo "Running PowerShell" >> "c:\here.log" & C:\WINDOWS\system32\WindowsPowerShell\v1.0\PowerShell.exe -Command ". 'C:\Program Files\messagegate\Exchange\AgentMain.ps1' INSTALL " >> "c:\here.log"'.
Action ended 21:50:20: MG_CA_AGENT_INST_CMD. Return value 1.
MSI (s) (24:FC) [21:50:20:515]: Doing action: MG_CA_AGENT_INST
Action 21:50:20: MG_CA_AGENT_INST.
Action start 21:50:20: MG_CA_AGENT_INST.
At this point the install appears hung...
[Processes Running]
cmd.exe 32
powershell.exe 32
msiexec.exe 32
msiexec.exe 32
msiexec.exe
Killing powershell.exe *32 allows things to continue;
Action start 21:50:20: MG_CA_AGENT_INST.
MSI (s) (24:14) [21:50:20:531]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSID.tmp, Entrypoint: CAQuietExec
MSI (s) (24!34) [21:50:20:609]: PROPERTY CHANGE: Deleting QtExecCmdLine property. Its current value is '"C:\WINDOWS\system32\cmd.exe" /c echo "Running PowerShell" >> "c:\here.log" & C:\WINDOWS\system32\WindowsPowerShell\v1.0\PowerShell.exe -Command ". 'C:\Program Files\messagegate\Exchange\AgentMain.ps1' INSTALL " >> "c:\here.log"'.
CAQuietExec: Error 0x80070001: Command line returned an error.
CAQuietExec: Error 0x80070001: CAQuietExec Failed
Action ended 21:54:26: MG_CA_AGENT_INST. Return value 1.
Action ended 21:54:26: INSTALL. Return value 1.
Thanks,
Dale
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 15 days (the time period specified by
the administrator of this Tracker).