Here is the code sample
var startInfo = new ProcessStartInfo
{
Arguments = commandStr,
FileName = @"C:\\Windows\\SysWOW64\\logman.exe",
};
After investigation I realized that Logman.exe is unmanaged code, so it cannot return a .NET object as MainModule, so it's a normal behavior. I'ts just slightly confusing error message for Win32Exception. It doesn't influence the execution of Process.Start().
Choosing Any CPU for Platform target is not enough, you also have to uncheck Prefer 32-bit, otherwise the application will still be run as a 32-bit application.
This is only possible on application projects, not on library project. If your project is a library, you must do it in the project using your library.