C#访问违反例外

C#访问违反例外,c#,wpf,fonts,C#,Wpf,Fonts,我正在将一个ttf文件从我的C#WPF应用程序安装到我的C:/Windows/Fonts文件夹中。安装时,我收到System.AccessViolation异常。我的代码如下: int result = -1; int error = 0; var windowsDirectory = Environment.GetEnvironmentVariable("SystemRoot") + "\\Fonts\\"; var di

我正在将一个ttf文件从我的C#WPF应用程序安装到我的C:/Windows/Fonts文件夹中。安装时,我收到System.AccessViolation异常。我的代码如下:

int result = -1;
            int error = 0;
            var windowsDirectory = Environment.GetEnvironmentVariable("SystemRoot") + "\\Fonts\\";
            var directoryInfo = new DirectoryInfo("../../Assets/Fonts");

            foreach (var file in directoryInfo.GetFiles())
            {
                result = AddFontResource((new FileInfo(windowsDirectory + file.Name)).ToString());
                error = Marshal.GetLastWin32Error();
                if (error != 0)
                {
                    System.Diagnostics.Debug.WriteLine(new Win32Exception(error).Message);
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine((result == 0) ? "Font is already installed." :
                                                      "Font installed successfully.");
                }
            }

我如何解决我的问题

如果异常确实是基于缺少管理员权限,您可能希望了解如何设置应用程序配置以获得管理员权限。

您是否在MSDN上查找了错误类型?你看了之后,问题就很清楚了。我知道问题是什么。我正在尝试写入需要管理权限的C:/Windows/Fonts文件夹。我想问的是,有没有办法直接从WPF C#Code解决这个问题?可能是重复的