在Windows 2008上,应用程序崩溃而不是处理异常

时间:2013-09-09 11:32:37

标签: c# com windows-server-2008

如果COM已在系统中注册,我有一个应检查的功能。可能会发生COM注册,但dll文件丢失 - 在这种情况下,函数也应该返回false。 MessageBoxes仅用于调试目的:

public bool IsCOMInstalled(string name)
{
    try
    {
        MessageBox.Show("?");
        var obj = Activator.CreateInstance(Type.GetTypeFromProgID(name));
        MessageBox.Show("!");
        return true;
    }
    catch (Exception e)
    {
        MessageBox.Show(e.Message);
        return false;
    }
}

在Windows XP和7上面工作正常。在Windows Server 2008上,不处理异常。应用程序在显示“?”后立即崩溃。

为什么?如何让我的应用程序处理异常......?

1 个答案:

答案 0 :(得分:0)

我认为你的windows框架存在问题。

当Framework无法处理异常时,CLR无法进一步运行。意味着您的代码完全破坏了CLR的功能。

检查Windows 8的系统要求,如下面的链接说明所示。 我发现Windows 8的系统要求运行它。 http://msdn.microsoft.com/en-us/library/8z6watww.aspx

相关问题