2013-10-18 3 views
1

저는 Matlab을 처음 사용하면서 Matlab이 C# 응용 프로그램과 상호 작용하도록 노력하고 있습니다.관리자로 MATLAB 인스턴스를 생성 할 수 있습니까?

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

내가 데이터를 저장하는 명령을 실행하려고 할 때 내 문제는 다음과 같습니다 : 은 내가 ML-APP 인터페이스과 같이 사용하여 명령을 보낼 수 있습니다 로선

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

1) "관리자 권한으로 실행"을 통해 matlab을 시작하고 ML- 명령 쉘을 통해 저장하십시오. 가능한가? 2) "관리자 권한으로 실행"을 통해 matlab를 시작하고 세션에 연결하면 지금 저장이 가능합니까? 3) 현재 디렉토리 (pwd)가 올바른지 확인하십시오. – Daniel

+0

관리자 권한으로 실행을 사용하면 옵션이 아닌 것 같습니다. – Steve2056726

+0

이미 열린 ML-Instance에 연결할 수 없습니까? 좋아, 이상한 ML 연결이야. 나는이 솔루션을 사용하는 것이 아니라 다른 타사 Matab 연결을 사용하고 있습니다. 무엇에 대해 1) 수동으로 대구를 실행하고 3) 현재 디렉토리를 확인합니까? – Daniel

답변

0

아마 User Interface Privelage Isolation으로 알려진 Windows 보안 기능 일 수 있습니다. 여기서 낮은 무결성 프로세스가 높은 무결성 프로세스와 통신 할 수 없습니다.

이것은 Windows Vista에 추가되어 Shatter Attack으로 알려져 있지 않은 것을 방지합니다.

보안 문제는 악의적 인 응용 프로그램이 높은 위치의 MatLab 프로세스와 통신을 시도 할 수 있으며 보안 위치에 쓸 가능성이 있습니다.

예를 들어, C# 응용 프로그램은 MatLab을 사용하여 하드 드라이브에 파일을 저장하려고 시도합니다.

관련 문제