#3192 PerfCounterManifest 64-bit support

v3.8
migrated
nobody
None
2013-08-21
2013-01-17
mberchtold
No

During the PerfCounterManifest custom action the MsiExec.exe is always invoked from a 32-bit process regardless of the Win64 flag of the component.

This has been reported to the the mailing list before:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Registering-performance-counters-on-64-bit-system-td5532433.html

It came to my attention because the RegisterPerformManifest apparently failed for one Windows 8 64-bit user:

MSI (s) (14:BC) [07:31:02:573]: Executing op: ActionStart(Name=RegisterPerfmonManifest,,)
Action 7:31:02: RegisterPerfmonManifest.
MSI (s) (14:BC) [07:31:02:574]: Executing op: CustomActionSchedule(Action=RegisterPerfmonManifest,ActionType=3073,Source=BinaryData,Target=CAQuietExec,CustomActionData="lodctr.exe" /m:"C:\Program Files\myapp\test.man" "C:\Program Files\myapp")
MSI (s) (14:EC) [07:31:02:576]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI8057.tmp, Entrypoint: CAQuietExec
MSI (s) (14:50) [07:31:02:576]: Generating random cookie.
MSI (s) (14:50) [07:31:02:579]: Created Custom Action Server with PID 4288 (0x10C0).
MSI (s) (14:74) [07:31:02:597]: Running as a service.
MSI (s) (14:74) [07:31:02:599]: Hello, I'm your 32bit Elevated custom action server.
CAQuietExec:
CAQuietExec: Error 0x80070216: Command line returned an error.
CAQuietExec: Error 0x80070216: CAQuietExec Failed
CustomAction RegisterPerfmonManifest returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 7:31:02: InstallFinalize. Return value 3.

As this seems to work for everybody else the reason for the failure might not actually be the custom action. However I believe it would be better to run the command from a 64-bit process when using a 64-bit msi with the Win64 component flag set to true.

Discussion

  • Rob Mensching
    Rob Mensching
    2013-03-04

    • Milestone: v3.7 --> v3.8
     
  • Rob Mensching
    Rob Mensching
    2013-08-21

    • Status: open --> migrated