Suppress WMP ActiveX Error “Bad Image” in C#

Filed Under (Code) by Mystalia on 26-05-2008

Tagged Under : , , , , ,

For some reason, the Visual Studio debugger suppresses this automatically, but the release does not.
It has something to do with DRM signatures, anyway the fix is to open up the entry point in the application (program.cs) and make these changes…

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace Program
{
[Flags]
public enum ErrorModes : uint
{
SYSTEM_DEFAULT = 0×0,
SEM_FAILCRITICALERRORS = 0×0001,
SEM_NOALIGNMENTFAULTEXCEPT = 0×0004,
SEM_NOGPFAULTERRORBOX = 0×0002,
SEM_NOOPENFILEERRORBOX = 0×8000
}

static class Program
{
// Suppresses “Bad Image” error.
[DllImport("kernel32.dll")]
static extern ErrorModes SetErrorMode(ErrorModes uMode);
[DllImport("kernel32.dll")]
static extern ErrorModes GetErrorMode();

///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] Args)
{
SetErrorMode(ErrorModes.SEM_FAILCRITICALERRORS);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(Args));
}
}
}