티스토리 툴바


달력

02

« 2012/02 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  •  
  •  
  •  

'UAC'에 해당되는 글 2

  1. 2009/12/18 UAC 오류 및 대책
  2. 2007/12/12 비스타 권한 상승 관련
2009/12/18 10:16

UAC 오류 및 대책 Programming2009/12/18 10:16

  도움 되셨나요? 꼭 댓글이나 트랙백을 남겨주세요!

▣ CoCreateInstanceAsAdmin() 에러 메세지

▷ 0x800704C7 사용자가 작업을 취소했습니다.
; 권한 상승 화면에서 "취소"한 경우 발생

▷ 0x80080017 클래스가 관리자 권한으로 활성화를 지원하도록 구성되지 않았습니다.
; 레지스트리 "Elevation\Enabled = 1" 값이 누락된 경우 발생
=> HKLM\Software\Classes\CLSID\{C.L.S.I.D}\Elevation 위치에 "Enabled = 1" 값 추가

▷ 0x80080015 활성화하려면 CLSID 키 아래에 표시 이름이 있어야 합니다.
; 레지스트리 "LocalizedString" 값이 누락된 경우 발생
=> HKLM\Software\Classes\CLSID\{C.L.S.I.D} 위치에 "LocalizedString=@파일명,-리소스아이디" 값 추가

0x80080015 오류에 대해 좀 더 상세히 기록한 것은 [
http://zzoouc.tistory.com/entry/비스타-64비트-ActiveX컨트롤-등록문제] 에 나와 있습니다.

이에 조금만 부연하면 키는 다음의 2 곳에 들어가 있을 수 있습니다.
64비트에 32비트 컨트롤이라면
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{해당 클래스 아이디}
64비트에 64비트 컨트롤, 32비트에 32비트 컨트롤은
HKEY_CLASSES_ROOT\CLSID\{해당 클래스 아이디}

▷ 0x8007000D 데이터가 잘못 되었습니다.
; 레지스트리 LocalizedString 값의 형식이 잘못된 경우 발생
=> (@파일명,-리소스번호) 형식으로 입력
ex) "c:\windows\system32\ax_test.dll,-101"

▷ 0x80070490 요소가 없습니다.
; DLL 파일에 해당 리소스아이디의 문자열값이 없는 경우 발생
=> DLL에 문자열 리소스 추가

▷ 0x80080016 활성화하려면 응용 프로그램에 대한 RunAs 값이 Activate As Activator여야 합니다.
; 레지스트리 "AppID" 값이 누락된 경우 발생 (??)
=> HKLM\Software\Classes\CLSID\{C.L.S.I.D} 위치에 "AppID={C.L.S.I.D}" 값 추가

▷ 0x1AD 클래스가 등록되지 않았습니다.
; 레지스트리 "AppID" 값이 누락된 경우 발생
; 레지스트리 "DllSurrogate" 값이 누락된 경우 발생
=> HKCR\AppID\{C.L.S.I.D} 위치에 "DllSurrogate=" 값 추가

  도움 되셨나요? 꼭 댓글이나 트랙백을 남겨주세요!
Posted by Joy to the World! learder
2007/12/12 02:02

비스타 권한 상승 관련 Programming2007/12/12 02:02

  도움 되셨나요? 꼭 댓글이나 트랙백을 남겨주세요!
비스타에서 액티브 엑스를 사용하려니 걸리는 게 많다. -.-;

권한 상승을 하려고 구글링해보니, MS에 게시된 문서를 비롯해서 한국 MVP들이 올려 놓은 문서들을  찾았다. 실제로는 다 같은 이야기이나, 말을 좀 달리 했고, 약간의 추가된 내용이 있어, 다 참고하는 게 좋을 것 같다.

비스타 권한 상승 처리...
1. 권한 상승 모니커로 권한상승이 필요한 COM 모듈 실행
   새로운 액티브엑스를 만들지 않고 기존 액티브엑스가 기존 액티브엑스를 호출하는 형태를 하고 싶었으나, 일단 실패. 되면, 3 으로 점프.

2. 권한 상승한 프로세스 실행
   runas 로 실행하는 방법

이외에도 IE7 을 위해서
3. Trusted Site 로 등록
   혹은 액티브 엑스 설치된 이후에는, codebase 없이 object 태그로 생성하거나 new ActivexObject( ProgID ) 형태로 ActiveX 호출하거나 ^^
   codebase 가 잡혀있으면 실행을 하지 않는 경우가... -.-;
  
1,2 모두 UAC 경고창이 한번은 나온다 -.-; UAC 경고창이 안나오게 하는 방법은 제시하질 않았습니다.

참고
1. Trusted Site 등록 스크립트

more..


2. 권한 상승 모니커로 COM개체 생성하기

more..


3. 호출하는 ActiveX 에서 레지스트리 등록에 추가할 부분

more..


4. 비스타에서 IE 돌아가는 경우 호출하는 ActiveX 의 DllRegisterServe 에서 처리할 것

more..

  도움 되셨나요? 꼭 댓글이나 트랙백을 남겨주세요!
TAG UAC
Posted by Joy to the World! learder