.NET アプリケーションで MSMQ を使用しています。MSMQ がインストールされていても実行されていない場合は、処理できます。
しかし、MSMQ 機能がローカル マシンにインストールされていない場合、起動時のクラッシュを防ぐにはどうすればよいでしょうか。
きれいではありませんが、以前にこれを使用していくつかの成功を収めました:
public static bool IsMsmqInstalled
{
get
{
try
{
IntPtr result = NativeMethods.LoadLibrary("Mqrt.dll");
return (result != IntPtr.Zero);
}
catch (Exception)
{
return false;
}
}
}
public sealed class NativeMethods
{
[DllImport("kernel32", SetLastError = true, CharSet = CharSet.Unicode)]
internal static extern IntPtr LoadLibrary(string lpFileName);
}
ここに私のブログがあります: