Window 개인 사용자 정보관련 처리부분 :: 2008/09/03 23:20 by 정성문(18기)
Application Virtualization 프로젝트를 위해 각 컴퓨터 사용자에 따른 User Directory와 Registry정보에 대한 부분을 처리하기 위한 처리에 대해 정리해 보았다.
우선 Window에서 기본으로 사용하는 path의 경로는 다음과 같다.
|
Variable |
Windows XP |
Windows Vista |
|
%ALLUSERSPROFILE% |
C:\Documents and Settings\All Users |
C:\ProgramData |
|
%APPDATA% |
C:\Documents and Settings\{username}\Application Data |
C:\Users\{username}\AppData\Roaming |
|
%COMPUTERNAME% |
{computername} |
{computername} |
|
%COMMONPROGRAM |
C:\Program Files\Common Files |
C:\Program Files\Common Files |
|
%COMMONPROGRAM |
C:\Program Files (x86)\Common Files |
C:\Program Files (x86)\Common Files |
|
%COMSPEC% |
C:\Windows\System32\cmd.exe |
C:\Windows\System32\cmd.exe |
|
%HOMEDRIVE% |
C:\ |
C:\ |
|
%HOMEPATH% |
C:\Documents and Settings\{username} |
C:\Users\{username} |
|
%PATH% |
C:\Windows\system32;C:\Windows; |
C:\Windows\system32;C:\Windows; |
|
%PATHEXT% |
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.WSF;.WSH |
.com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc |
|
%PROGRAMFILES% |
C:\Program Files |
C:\Program Files |
|
%PROGRAMFILES(X86)% |
C:\Program Files (x86) (only in 64-bit version) |
C:\Program Files (x86) (only in 64-bit version) |
|
%PROMPT% |
Code for current command prompt format. Code is usually $P$G |
Code for current command prompt format. Code is usually $P$G |
|
%SYSTEMDRIVE% |
C: |
C: |
|
%SystemRoot% |
The Windows directory, usually C:\Windows, formerly C:\WINNT |
C:\Windows |
|
%TEMP% and %TMP% |
C:\Documents and Settings\{username}\Local Settings\Temp |
C:\Users\{username}\AppData\Local\Temp |
|
%USERNAME% |
{username} |
{username} |
|
%USERPROFILE% |
C:\Documents and Settings\{username} |
C:\Users\{username} |
|
%WINDIR% |
C:\Windows |
C:\Windows |
|
%PUBLIC% |
C:\Users\Public |
이 Path들 중 Install시에 반영하여 Load할때 문제되는 부분은 User ID가 들어간 Path부분으로
이를 걸러내서 Driver에서 처리할 수 있어야 하므로 이에 대한 정보 처리가 필요하다. 또한 Registry의 경우
XP기준으로 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 하위 키 값을 보면 아래와 같다

'S-1-5-xx' 이부분과 관련된 키값은 각각 윈도우에서 사용되는 쓰임이 있으나 'S-1-5-21-'이 부분의 경우 각 유저에 따라서 생성되는 키이다. 뒷 부분에 써있는 값은 맨 마지막 부분만 유저에 따라서 각자 다른 값으로 되어있고 중간값의 경우는 Window에 따라서 다른 부분이다.
이 키 값들이 가지고 있는 Value들을 살펴보면 여러가지 값 중 아래와 같은 Value가 있다.
또한 사용자가 로긴하면 로긴한 사용자를 기준으로 생성되는 아래의 그림과 같은 Registry부분도 처리하였다.

HKEY_USERS 부분에서 사용자 계정으로 로그인 시에 아래의 부분처럼 로그인한 사용자와 관련된 Registry가 생성되는 것을 확인하였고 이에대한 부분 또한 처리를 하였다.
