是否可以创建一个Matlab实例作为管理员?

时间:2013-10-18 19:58:18

标签: c# matlab interface com uac

我是Matlab的新手,我花了一天时间试图让Matlab与我的C#应用​​程序进行交互。 目前我可以使用MLapp接口发送命令,如下所示:

MLApp.MLApp matlab = new MLApp.MLApp();

我的问题是当我尝试执行命令来保存数据时:

string result = matlab.Execute(inputVectorCommand);
            matlab.Execute("save('saveTest.mat','x')");

我收到以下错误:

Error using save
Unable to write file ytest.mat: permission denied.

我相信这是因为Matlab的实例是用最高的UAC创建的。有人知道这个问题的解决方案吗?

1 个答案:

答案 0 :(得分:0)

可能是称为User Interface Privelage Isolation的Windows安全功能。这是不允许较低完整性过程与更高完整性过程通信的地方。

这已添加到Windows Vista中,以防止所谓的Shatter Attack

安全问题是恶意应用程序可以尝试与提升的MatLab进程通信,可能使用它来写入安全位置。

例如,您的C#应用​​程序正在尝试使用MatLab来保存硬盘驱动器上的文件。