2011-03-30 2 views
1

: 1) 쓰기가 낮은 무결성하여 프로세스를 실행하는 사용자독립 프로세스 2)는 Windows에서 표준 폴더가 있습니까?낮은 무결성 프로세스와 Windows 서비스 모두에서 로그 파일을 저장할 위치를 지정할 수 있습니까? 한마디로


스택 오버플로에는 로그 파일 위치에 대한 여러 가지 질문이 있지만 문제는 약간 다릅니다.

내 응용 프로그램에는 IE 아래에서 실행되므로 낮은 무결성을 가진 ActiveX와 Windows 서비스의 두 가지 주요 구성 요소가 있습니다. 두 가지 모두 로그를 생성하며 모든 것을 동일한 위치에 저장하려고합니다.

SHGetKnownFolderPath(FOLDERID_LocalAppDataLow)을 사용해 보았습니다. 그것은 ActiveX에 대해서는 문제가 없지만 Windows는 내 서비스 용으로 다음 폴더를 반환합니다 : C:\Windows\SysWOW64\config\systemprofile\AppData\LocalLow\. 그것은 여러 가지 이유로 나쁘다.

낮은 무결성 프로세스에는 쓰기 권한이 없기 때문에 %AllUsersProfile% 또는 % APPDATA %를 사용할 수 없습니다.

내 서비스에서 현재 로그온 한 사용자를 찾아 수동으로 LocalLow 폴더로 가져 오는 방법에 대해 생각해 보았지만 0 개 또는 그 이상일 수 있으므로 문제가 될 수 있습니다.

+0

시스템 로그는 어떻게됩니까? 직접 파일을 별도로 작성해야합니까? –

+1

'% temp %'폴더가 필요합니까? – Sadique

+0

@Acme : 임시 폴더도 사용자 이름에 종속되지 않습니까? 내 Win7 x64 컴퓨터에서 % temp %는 "C : \ Users \ pfranco \ AppData \ Local \ Temp"와 같습니다. –

답변

0

% ALLUSERSPROFILE %을 (를) 여전히 선택합니다. 이 경로에서 일반적으로 회사 이름의 폴더를 만든 다음 제품의 폴더를 만듭니다. 일반 관리자가 아닌 사용자 계정은 % ALLUSERSPROFILE %에 쓸 수 있지만 기본 ACL이 충분하지 않은 경우 특정 시나리오에 대해 설치하는 동안 특정 응용 프로그램의 디렉토리에 대한 사용 권한을 항상 수정할 수 있습니다.

우리는 당신이 (액티브 X IE에서 실행 제어뿐만 아니라 서비스 및 일반 응용 프로그램의 집합을) 가지고있는 매우 비슷한 배치 한 우리는 아무 문제없이 우리의 로그를 저장하는 곳이 있습니다.

관련 문제