윈앤위


 윈앤위는 웹표준을 준수하는 브라우저들을 대상으로 최적화 되어 있습니다.
 IE7, IE8, 파이어폭스, 사파리, 크롬, 오페라, 플록을 권장(MS IE6 비권장)
 

테마패치 스크립트(Uxtheme patch for Vista)

  Windows XP Theme, Posted 배우기(Mr.Learn) on 2007년 05월28일 PM 11:45
emptyemptyemptyemptyemptyemptyemptyemptyemptyempty 구독자 평가 : 0/10, 총 0 명이 참여하셨습니다.
Windows는 전문적이고 방대한 분야입니다. 스터디하지 않고는 10년을 사용한들 Windows 메커니즘을 이해하기는 어렵기 때문에 많은 시간 MS 기술문서를 참조합니다. 이러한 과정에서 얻은 올바른 지식을 윈앤위 방문자님이나 멤버님들과 공유하고 있습니다.
-
궁금한 사항은 포탈 카페나 지식 서비스를 비롯 타 커뮤니티에서 질의나 논의를 하기보다는 글을 작성한 퍼브리셔와 직접 소통하는 것이 유익합니다. 오히려 잘못된 답변과 함께 어처구니 없게도 퍼브리셔의 무지함으로 몰아가는 경우가 종종 있습니다.
-
궁금한 사항은 언제든 윈앤위 열린 질문 포럼을 이용하세요. 멤버 등록이나 가입절차 없이 누구든지 이용할 수 있도록 열려있습니다. 타 사이트에 링크를 걸기 보다는 직접 글을 작성한 퍼브리셔와 소통하십시오. 애석하게도 링크가 걸린 글들을 읽어 보면 Windows를 제대로 이해하고 답변한 경우가 거의 없을 정도입니다.
Uxtheme Patch

 윈도즈 비스타용 UxTheme 패치(배포:http://www.anti-tgtsoft.com)는 uxtheme.dll, themeui.dll, shsvcs.dll 3개의 컴퍼넌트 파일을 System32에 넣어야 하는데, 권한과 소유권을 변경해야 한다. 수동으로 해야할 일을 직접 명령어를 사용해서 배치 파일 스크립트로 만들었다. 관리자 권한으로 시스템 컴퍼넌트 파일을 마구잡이식으로 변경한다면 오류가 발생할 수 있으므로 명령어 사용에 신중해야 하는데, 아예 icacls, takeown, 접근 제어 목록(ACLs)에 관한 명령어로 배치 파일을 작성했다. 배우기(Mr.Learn)도 쉽지많은 않았지만, 이 과정에서 명령어를 보다 잘 이해할 수 있었기에 리소스핵이 가능한 시스템 컴포너트 파일의 접근도 어렵지 않게 되었다. 여기서는 테마를 사용하기 위한 패치(배치파일)와 함께 소스에 주석을 달아 놓았다.
Uxpatch 패치 실행

0. 로그온상 사용자는 윈도즈 비스타 기본 관리자 계정인 Administrator 또는 관리자 그룹의 일원이어야 한다.

1. 먼저 uxtheme_with_wnw.zip 파일을 다운받아 압축을 풀어 놓는다. (여기서는 윈도즈 비스타의 다운로드 폴더에 내려받기가 되는 것으로 전제한다.)

2. 위에 그림에서 처럼 시작버튼을 클릭하고 검색상자에 cmd라고 입력한 후에 바로 ctrl + shift + enter를 눌러준다. 이렇게하면 관리자로 cmd.exe를 실행하게 되는데, UAC경고창이 뜨면 계속한다.

3. 아래 그림에서 처럼 cmd 창이 뜨면 cd %homepath%라고 입력해서 자신의 홈계정으로 이동한다.
Uxtheme Patch


4. 현재(홈계정) 경로에서 윈도즈 탐색기로 연다(사용자:Mr.Learn)
C:\Users\Mr.Learn>explorer .


5. 다운로드 받은 파일에 압축을 풀고 4번에서 열린 홈계정으로 복사해 넣는다.
폴더명이 uxtheme_with_wnw라 가정하고 홈계정 C:\Users\Mr.Learn로 복사해 넣으면 되지만, 폴더명이 uxtheme_with_wnw이 아닌 간단하게 줄여도 된다.
(C:\Users\Mr.Learn\uxtheme_with_wnw)

6. 이제 uxtheme_with_wnw으로 이동한다.
C:\Users\Mr.Learn>cd uxtheme_with_wnw


7. uxpatch.cmd라고 실행한다.
C:\Users\Mr.Learn\uxtheme_with_wnw\uxpatch.cmd 또는
C:\Users\Mr.Learn\uxtheme_with_wnw\uxpatch


8. 재부팅한 후 3rd party 테마를 실행한다.

주의 사항: 위에 배치파일을 연속적으로 실행하면 안된다. 패치를 위해서 단 1회만 실행하고, 아래 복원도 단 1회만 해야한다.


패치 소스 설명

::::::::::::::::::::::::::::::::::::::::::::::::::
:: Created by 배우기(Mr.Learn) - 05/28/2007
:: site: VISTA.winnwe.com, email:admin@winnwe.com
::::::::::::::::::::::::::::::::::::::::::::::::::
:: Full source is availiable under the GNU lisence.
::::::::::::::::::::::::::::::::::::::::::::::::::
:: Batch File Name : uxpatch.cmd
:: uxtheme patch(uxtheme.dll, themeui.dll, shsvcs.dll)
::::::::::::::::::::::::::::::::::::::::::::::::::
:: Updated 06/15/2007
::::::::::::::::::::::::::::::::::::::::::::::::::

@echo off

icacls %WinDir%\system32\uxtheme.dll /save uxtheme.dll.acl
icacls %WinDir%\system32\themeui.dll /save themeui.dll.acl
icacls %WinDir%\system32\shsvcs.dll /save shsvcs.dll.acl
:: icacls명령으로 패치할 파일들의 ACL 정보를 백업한다.

takeown /f %WinDir%\system32\uxtheme.dll
takeown /f %WinDir%\system32\themeui.dll
takeown /f %WinDir%\system32\shsvcs.dll
:: 파일을 제어하기 권한을 확보하기 위해서 소유권을 취한다.

icacls %WinDir%\system32\uxtheme.dll /grant:r %UserName%:(F)
icacls %WinDir%\system32\themeui.dll /grant:r %UserName%:(F)
icacls %WinDir%\system32\shsvcs.dll /grant:r %UserName%:(F)
:: 파일에 액세스할 계정의 권한을 ACL에 등록한다.

ren %WinDir%\system32\uxtheme.dll uxtheme.dll.OLD
ren %WinDir%\system32\themeui.dll themeui.dll.OLD
ren %WinDir%\system32\shsvcs.dll shsvcs.dll.OLD
:: 원본 파일을 .OLD로 백업한다.

copy uxtheme.dll %WinDir%\system32\uxtheme.dll
copy themeui.dll %WinDir%\system32\themeui.dll
copy shsvcs.dll %WinDir%\system32\shsvcs.dll
:: 패치 파일들을 복사해 넣다.

echo DONE! please REBOOT.
:작업 끝이므로 재부팅해서 적용한다.


 패치는 간단하다. 그러나 만일의 경우를 대비하기 위해서 복구할 ACL정보를 저장해 두는데 홈계정에 .ACL이라는 파일로 생성되므로 만일 원본 파일로 복원할 경우는 이 파일을 잘 보관해 둔다. 그래픽 셸에서는 대충 읽거나 쓸 수 있는 권한 또는 모든 권한을 생성해 주면 되지만, 위에 명령어들은 복원을 위해 필요한 명령들이 포함되어져 있다고 할 수 있다. 따라서 위에 정보를 이용해서 완벽하게 복원할 수 있다.


Uxpatch 패치 복원 - 2007년 6월 16일 소스 수정

 패치시 홈계정에 생성된 .ACL파일이 다시 홈계정에 있는지 확인하고, 없으면 홈계정에 넣어주고 uxpatch_r1.cmd를 실행한다.
C:\Users\Mr.Learn\uxtheme_with_wnw>uxpatch_re1


소스 설명:
::::::::::::::::::::::::::::::::::::::::::::::::::
:: Created by 배우기(Mr.Learn) - 05/28/2007/
:: site: VISTA.winnwe.com, email:admin@winnwe.com
::::::::::::::::::::::::::::::::::::::::::::::::::
:: full source is availiable under the GNU lisence.
::::::::::::::::::::::::::::::::::::::::::::::::::
:: Batch File Name : uxpatch_r1.cmd
:: restore uxpatch(uxtheme.dll, themeui.dll, shsvcs.dll)
::::::::::::::::::::::::::::::::::::::::::::::::::
:: Updated 06/16/2007
::::::::::::::::::::::::::::::::::::::::::::::::::

@echo off

takeown /f %WinDir%\system32\uxtheme.dll
takeown /f %WinDir%\system32\themeui.dll
takeown /f %WinDir%\system32\shsvcs.dll
:: 컨트롤할 파일의 개체 소유권을 취한다.

icacls %WinDir%\system32\uxtheme.dll /grant:r %UserName%:(F)
icacls %WinDir%\system32\themeui.dll /grant:r %UserName%:(F)
icacls %WinDir%\system32\shsvcs.dll /grant:r %UserName%:(F)
:: ACL에 자신을 등록해서 모든 권한을 취한다.

ren %WinDir%\system32\uxtheme.dll uxtheme.dll.DEL
ren %WinDir%\system32\themeui.dll themeui.dll.DEL
ren %WinDir%\system32\shsvcs.dll shsvcs.dll.DEL
:: 제거할 파일을 임시이름으로 변경한다.

ren %WinDir%\system32\uxtheme.dll.OLD uxtheme.dll
ren %WinDir%\system32\themeui.dll.OLD themeui.dll
ren %WinDir%\system32\shsvcs.dll.OLD shsvcs.dll
:: 백업해 두었던 파일을 복원한다.

icacls %WinDir%\system32\uxtheme.dll /setowner "NT Service\TrustedInstaller"
icacls %WinDir%\system32\themeui.dll /setowner "NT Service\TrustedInstaller"
icacls %WinDir%\system32\shsvcs.dll /setowner "NT Service\TrustedInstaller"
:: 개체 소유권을 본래의 소유자 TrustedInstaller로 넘겨준다.

icacls %WinDir%\system32\ /restore uxtheme.dll.acl
icacls %WinDir%\system32\ /restore themeui.dll.acl
icacls %WinDir%\system32\ /restore shsvcs.dll.acl
:: ACL을 복원한다.

echo DONE! please REBOOT.


이제 완벽하게 패치전 상태로 복원했으므로 리부팅한다.

파일이 사용중이라는 메시지와 함께 삭제되지 않으므로 재부팅하면 확장자 .DEL은 삭제가 될 것이다. 따라서 수동으로 삭제하던지 아니면
C:\Users\Mr.Learn\uxtheme_with_wnw>uxpatch_re2

를 실행한다.

다운로드 : uxtheme_with_wnw.zip (2007년 6월 16일 업데이트)

다운로드 : uxtheme.OLD.zip - 잘못되었을 때를 대비한 오리지날 파일, system32에 .OLD를 복사해 넣고 uxpatch_r1, uxpatch_r2 실행 후 상속된 권한 제거를 해야 오리지날로 복원된다. (주의: x86파일임)
Enjoy!

+ 최근 업데이트 2007년 6월 15일
 패치실행을 관리자 권한을 가진 Mr.Learn가 권한상승한 관리자 권한으로 커맨드 셸을 실행한 후에 간단하게 uxpatch라고 입력하면 아래와 같이 실행된다. 그리고 1 파일을 처리했으며 0 파일은 처리하지 못했습니다는 오류가 아닌 정상적인 실행결과이다.
C:\Users\Mr.Learn\uxtheme_with_wnw>uxpatch
처리된 파일: C:\Windows\system32\uxtheme.dll
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

처리된 파일: C:\Windows\system32\themeui.dll
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

처리된 파일: C:\Windows\system32\shsvcs.dll
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

성공: 이제 파일 또는 폴더 "C:\Windows\system32\uxtheme.dll"을(를)
사용자 "PIZZAJO\Mr.Learn"이(가) 소유합니다.

성공: 이제 파일 또는 폴더 "C:\Windows\system32\themeui.dll"을(를)
사용자 "PIZZAJO\Mr.Learn"이(가) 소유합니다.

성공: 이제 파일 또는 폴더 "C:\Windows\system32\shsvcs.dll"을(를)
사용자 "PIZZAJO\Mr.Learn"이(가) 소유합니다.

처리된 파일: C:\Windows\system32\uxtheme.dll
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

처리된 파일: C:\Windows\system32\themeui.dll
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

처리된 파일: C:\Windows\system32\shsvcs.dll
1 파일을 처리했으며 0 파일은 처리하지 못했습니다.

1개 파일이 복사되었습니다.
1개 파일이 복사되었습니다.
1개 파일이 복사되었습니다.
DONE! please REBOOT.
 수동으로 그래픽 UI를 통해서 일일이 파일 권한을 조정해야 할 것을 위에서 처럼 uxpatch라는 명령어 한방으로 실행되도록 배우기(Mr.Learn)가 스크립트를 작성한 것이며, 실행에는 아무런 문제가 없음을 재차 확인함! 복구 스크립트는 재작성 예정.

+ 최근 업데이트 2007년 6월 16일
삭제되지 않는 문제는 dll이 사용중이므로 재부팅하면 삭제가 가능하다. 또한 삭제는 먼저 확장자 이름을 .DEL로 변경해 놓은 후에 재부팅해서 확장자 .DEL을 삭제하면 완전하게 복원 된다. 2007년 6월 16일자로 스크립트 및 업로드 파일 최종 경신.
무식한 것인지 용감한 것인지, 네이버 상습 펌질 및 양심불량 블로그(blog.naver.com/spef)는 윈앤위 게시물 모두 삭제하십시오!
개인 운영 사이트라고 만만하게 생각하고 콘텐츠 복제하나본데 그러다가 큰코 다칩니다.
저작권자 동의없이 콘텐츠 복제를 금합니다. 동의를 거쳐서 이용 규칙을 준수하십시오!
구독자 참여 :  
배우기(Mr.Learn)'s avatar작성날짜 : 2007년 05월 28일
작성시간 : PM 11시 45분 26초
퍼브리셔 : 배우기(Mr.Learn)
저작권자 : Powered by 윈앤위
코멘트는 누구에게나 열려 있습니다.
트랙백도 블로거에게 열려 있습니다.

Comments (3)

Trackbacks (0)

Questions and Answers

NEXT 한글 윈도즈 비스타 비쥬얼 스타일(msstyle)  윈도XP용 비스타 에어로 테마 1.12 PREV
Powered by Expressionengine
Powered by Jquery
Powered by DNSEver

get RSS 2.0 Add Google

Recent Trackbacks

Main Contents

Beta Service

  • 모바일 페이지 - 이동기기용 페이지
  • 열린 평가 시험 - Beta version 0.1
    등록이나 가입없이 무료로 누구나 쉽게 운영체제 실력을 진단할 수 있도록 문제은행 구축

Lectures

  • 스케치업6 강좌 - 1 ~ 2시간 정도면 누구나 쉽게 구글 스케치업을 배울 수 있도록 25단계로 구성한 입문용 강좌
 
Site Status - Windows Theme Blog

This page has been viewed 111274 times
Page rendered in 0.1913 seconds
Total Entries: 21
Total Comments: 17
Total Trackbacks: 1
Most Recent Entry: 05/16/2009 03:18 pm
Most Recent Comment on: 05/21/2009 03:14 pm
Total Members: 13
Total Logged in members: 0
Total guests: 22
Total anonymous users: 1
Most Recent Visitor on: 03/15/2010 06:11 pm
The most visitors ever was 522 on 08/26/2009 03:15 am

Publishers


윈앤위™는 Windows(NT계열) 운영체제를 주력 콘텐츠로 하는 블로그 사이트입니다. 방대하면서도 전문적인 Windows에 관해 배우기(Mr.Learn)와 함께 스터디 하실 분들은 커뮤니티에 [멤버등록]을 권장합니다.

콘텐츠 이용안내 - 본 블로그 사이트의 저작물은 무단 전제 및 재배포가 아닌 [CCL(크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스)]에 따라 이용하실 수 있습니다.

  

가장 유능한 사람은 가장 배우기에 힘쓰는 사람이다. - 괴테