제목 : Win10XPE(Winbuilder)에 .NET Framework 3.5와 4.7 추가방법
OldMaC
머리디밀기로 하는 방법이라 정확한 방법이 아닙니다.
오타가 장렬합니다.~~ 평상 시에도 오타가 장난이 아닌데 이번 포스팅은 정리도 안됩니다.
너그럽게 이해하시고, 의미가 전달되면 살짝 넘어가 주세요~~~ㅋㅋ
^^; 2부는 좀 천천히 하겠습니다.
닷넷관련 용량정리가 생각보다 쉽지않네요. 이 부분은 시간나는데로 좀 더 공부해서
나중에 포스팅하겠습니다.
------------------------------------------------------------------------
이 포스팅의 윈도우 기준은
Windows 10 RS4(Windows 10 Redstone4 RTM Spring Creators Update 1803.17133.1) 64비트입니다.
이 포스팅을 가능하게 만들어 주신 윈포에
제이유컴님, flower3님, ToPs님, 집앞의_큰나무님, W&W님, sunshine님,
옛날에님, DarknessAngel님, 복태취업했다님, 그리고 Decompiler님께 감사드립니다. 꾸~~~벅
이젠 추억이 된 윈스쿨의 스쿨아이님과 보리아빠님께도 감사드립니다.
두 분 어디에 계시던 항상 건강하시고, 하시는 일이 잘되기를 바랍니다.
특히, 이 포스팅의 출발점이 된 flower3님 가르침에 고개숙여 감사드립니다. 꾸~~~벅
https://windowsforum.kr/lecture/9962851
이 부분에 대한 가르침이 없었다면 닷넷을 PE에 포함시키는 방법을 또 다시 시작하지 않았을 것입니다.
이 부분이 왜 저에게 중요한 부분이냐면
PE에 닷넷 3.5을 포함시킬 때 관련된 파일들과 함께 레지도 추출해야하는데, 닷넷 3.5을 설치하면 install.wim의 Software 레지DB에 관련된 레지가 대부분 추가됩니다. 이 부분의 레지가 너무 복잡하여 공부할 때 항상 레지추출을 포기한 부분이였습니다. 하지만 이렇게 install.wim의 Software 레지DB를 그대로 사용할 수 있다면 추출할 필요가 없어 다시 공부하기로 한 부분입니다.
근데 왜 바로 Winre.wim 이미지에 바로 닷넷 3.5을 설치하지않고 install.wim에 설치하냐.....? 지나가면서 공부부분입니다.
- 마소에서 처음부터 Windows 10의 복구이미지에는 닷넷 4.7만 통합되게 만들었기때문입니다.
- 윈도우 8(닷넷 4.0 이상)부터 이렇게 셋팅했다고 합니다. 윈도우 7는 닷넷 3,5가 기본이고요.
이런 이유로 닷넷 3.5가 정상적인 방법으로 통합이 안되는 부분입니다.
그리고 이 모든 작업 과정은 PE가 아니라 현재 제가 사용하는 윈도우에서 작업하는 과정으로 설명합니다. 귀차니즘에.... 조금 안다고 이제는 PE에서 작업을 하지 않습니다. ^^; 하지만 레지 추출 및 병합시 실수할 수 있으니 자신이 없으면 PE에서 작업할 것을 권장합니다.
닷넷과 관련된 부분을 PE에 통합하기 위해 몇 가지 준비물이 필요합니다.
- 닷네 3.5 관련 : 한글 순정윈도우(http://jsb000.tistory.com/856?category=803276)에서 install.wim 추출
- 닷넷 4.7 관련 : Windows 평가 및 배포 키트 ADK(https://cloud.mail.ru/public/HS9e/GXEQZ2mef/)에서 닷넷 4.7과 관련된 소스 추출
- 추출한 레지 통합 : ExecTI.exe(https://winaero.com/comment.php?comment.news.1843)로 닷넷 3.5 레지 통합(레지의 권한때문....)
- 닷넷을 통합하기 위해 ****.wim 이미지 마운트 프로그램 : Dism++(http://www.chuyu.me/en/index.html) 및 본인이 사용하는 프로그램
- 레지스트리 파일을 ****.cmd 파일로 변환하기위한 프로그램 : RegConvert.exe 프로그램(https://www.sordum.org/8478/reg-converter-v1-2/)
- Winbuilder 다운 : http://win10se.cwcodes.net/Compressed/ http://theoven.org/index.php?topic=1336.0
- 파일비교 프로그램 : Beyond Compare(Wim파일 비교, 레지 비교 등에 사용하고 추출에도 사용) 프로그램은 재주껏 구합니다. 이런 류의 프로그램이 없으면 완전 노가다로 작업하기 때문입니다.
다운 시 이상한 놈이 의심되면 말씀해 주시와요. 직접 다운이 가능하게 하려다 제작자님들의 사이트를 일부러 링크했습니다. 몇 가지는 윈포의 자료실에도 있으니 다운이 어려우면 원포를 이용하세요~~~
Windows 평가 및 배포 키트(ADK) 설치 및 닷넷 4.7과 관련된 자료 추출
작업 순서는 비교적 작업이 쉬운 ".NET Framework 4.7"을 Winre.wim에 통합하는 방법부터 시작하겠습니다. install.wim 이미지에 포함된 Winre.wim 파일은 윈도우의 복구에 사용되는 이미지인데, Win10XPE 빌더에서 이 Winre.wim 이미지를 뼈대로 PE를 만들기때문에 닷넷 4.7을 Winre.wim 이미지에 통합해야합니다.
자세한 부분은 마소 사이트 참조......
닷넷 4.7과 관련된 ****.cab 파일들은 모두 Windows 평가 및 배포 키트(ADK)에 포함되어 있기때문에 자료 추출을 위해 반드시 ADK의 설치가 필요합니다.
윈도우 10 RS4 ADK 다운.......
https://cloud.mail.ru/public/HS9e/GXEQZ2mef/
또는 윈포의 디폴트님이 제공한 https://windowsforum.kr/index.php?mid=free&page=2&document_srl=9970569 링크 중 구글링크에서 다운받습니다.
ADK ISO 이미지를 다운받았으면 탑재하여 "adksetup.exe" 파일을 선택하여 설치합니다.
ADK 키트가 모두 설치되었으면 이제 닷넷 4.7과 관련된 자료를 추출하겠습니다.
닷넷 4.7과 관련된 자료 정리 / install.win에서 Winre.wim 추출 및 닷넷 4.7 통합
WinPE_OCs 폴더에 많은 캐비넷 파일(****.cab)과 언어 폳더들이 있는데, 우선 언어폴더 중 한국어 폴더인 KO-KR외 나머지 폴더는 따로 보관하거나 삭제합니다. 그리고 캐비넷 파일들에도 언어와 관련된 놈들이 있는데 이놈들도 마찬가지로 한국어외 모두 따로 보관하거나 삭제합니다.
영어 언어팩(En-US)은 나중을 위해 보관하셔도 좋습니다. 이렇게 언어팩을 정리하는 이유는 복사할때 아시겠지만 용량이 좀 부담되기때문입니다. PE를 지역화할 분은 공부차원에서 보관하셔도 되고요.^^;
저는 이렇게 정리했습니다. ㅋㅋ
이제 이 중에 닷넷 4.7과 관련된 놈을 알아보겠습니다.
공부에 참조한 사이트.....
https://superuser.com/questions/1146933/running-vb-net-on-windows-pe
사이트에 접속하면 영어이고, 또 윈도우 8.1에 대한 부분이지만 필요한 캐비넷 파일이 무엇인지 파악할 수 있습니다.
echo Mounting image...
dism /Mount-Wim /WimFile:scratch\media\sources\boot.wim /index:1 /MountDir:scratch\mount > nul
echo Injecting WMI packages...
dism /image:scratch\mount /Add-Package /PackagePath:"%PF%\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE-WMI.cab" > nul
dism /image:scratch\mount /Add-Package /PackagePath:"%PF%\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\en-us\WinPE-WMI_en-us.cab" > nul
echo Injecting .NET packages...
dism /image:scratch\mount /Add-Package /PackagePath:"%PF%\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE-NetFX.cab" > nul
dism /image:scratch\mount /Add-Package /PackagePath:"%PF%\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\en-us\WinPE-NetFx_en-us.cab" > nul
그리고 마소의 설명서.....
Microsoft .NET/WinPE-NetFX | WinPE-NetFX contains a subset of the .NET Framework 4.5 that is designed for client applications.
Not all Windows binaries are present in Windows PE, and therefore not all Windows APIs are present or usable. Due to the limited API set, the following .NET Framework features have no or reduced functionality in Windows PE:
Dependencies:
|
예제는 영어를 기준으로된 부분입니다. 저희는 한국어를 통합해야 합니다.
위 두 사이트에서 Winre.wim 이미지에 닷넷 4.7을 통합하기 위해 총 4가지 캐비넷 파일(cab)이 필요한 것을 알 수 있습니다. 닷넷을 통합하기 전에 먼저 사전 통합할 파일 2 가지와 닷넷 파일인 2 가지.... 근데 복사한 폴더를 보니 한국어 파일인 2 가지가 안보입니다. 이놈들은 한국어 폴더인 KO-KR 폴더에 있습니다.
저는 닷넷 4.7과 관련 모든 파일을 우선 새로운 폴더를 만들어 정리했습니다.
WMI 파일과 관련된 2 가지 파일은 닷넷 4.7 통합에 관련해 사전에 먼저 통합해야하는데 윈도우 10 Wimre.wim 이미지에는 기본적으로 통합이 되어있습니다. 그래서 사실상 닷넷과 관련된 "WinPE-NetFx.cab과 WinPE-NetFx_ko-kr.cab" 파일만 통합하면 됩니다.
이제 install.wim에서 Winre.wim 이미지를 추출하겠습니다.
한글 순정윈도우 RS4는 위에 링크를 참조하여 이미 다운했거나, 보관하고 있을테니 다운하는 방법은 생략합니다.
PE를 만들 순정윈도우 ISO이미지를 탑재하여 Sources 폴더안에 있는 install.wim 이미지를 작업할 폴더에 복사하고, 설치된 압축프로그램으로 install.wim 파일을 "압축열기"로 엽니다. 반디집 같은 경우는 먼저 프로그램을 실행한 다음 install.wim 파일을 드래그하여 여시고, 7-Zip 같은 경우는 install.wim 파일을 우클릭하여 여시면 됩니다.
저는 주로 7-Zip으로 이런 부분을 작업하여 7-Zip으로 설명합니다.
Winre.wim 이미지를 추출하기 위해 Wdows\System32\Recovery\ 폴더를 찾아갑니다. Winre.wim 이미지도 작업할 폴더에 복사합니다.
Winre.wim 이미지에 닷넷 4.7 을 통합할 때 쉽게 생각해 일반적인 윈도우에 업데이트팩을 오프라인으로 통합한다고 생각하시면 됩니다.
그래서 저는 이런 작업에 주로 사용하는 Dism++ 프로그램으로 설명하겠습니다. 그러니 닷넷 4.7통합팩을 통합할 때 본인들이 주로 사용하는 Wim 이미지 편집툴을 사용하면 됩니다.
나중에 추가된 닷넷 4.7의 파일들을 추출하기 위해 통합 전과 후의 이미지가 필요하니 통합 전 원본 Winre.wim 이미지를 따로 보관관합니다.
Wimre.wim 이미지를 마운트합니다. Dism++에서 Wim 이미지 마운트 하는 방법은 여기서 참조.....(http://oldnew.tistory.com/261?category=589331) 중간에 나옵니다. 마운트하는 과정까지 스샷하면 괜히 길어져 생략하는 부분이니 이해바랍니다.
Dism++로 패키지를 통합할 때 순서는 무시하셔도 됩니다. 알아서 순서에 맞게 통합합니다.
닷넷 4.0이 잘통합되었으니 이제 원본에 통합된 부분을 적용하겠습니다.
적용이 모두 끝나면 "마운트 해제" 합니다.
그전에 한 가지 체크를.....
저희가 ADK를 설치하여 Wimre.wim 이미지에 통합이 가능한 파일들을 추출했습니다.
https://docs.microsoft.com/ko-kr/windows-hardware/manufacture/desktop/winpe-add-packages--optional-components-reference 여기서 통합이 가능한 파일들을 설명하고 있는데, 한국어로 번역해 보면 호환성을 위해 통합할 놈들이 몇 가지 보입니다. 그래서 저는 공부할때 추출한 모든 파일을 통합하여 PE를 계속 만들어 보았는데 빌드에 이상이 없었습니다. 그러니 영어라고... 처음이라고.... 어렵게 생각하지말고 저 같이 머리디밀기해 보는 것도 좋다고 생각합니다. ㅋㅋ
닷넷 4.7팩을 무사히 통합했습니다. 성질 급하신 분은 확인차원에서 이놈을 다시 install.wim에 있는 원본 Wimre.wim 파일과 교체하여 빌드하면 됩니다. EsayBCD 2.3 버전이 무사히 실행되는 것을 확인할 수 있습니다.ㅋㅋ
닷넷 4.7팩을 통합한 후 용량이 생각보다 커진 Wimre.wim을 보게 될 것입니다, 용량 정리부분은 우선 닷넷 3,5 작업을 마치고 같이 설명하겠습니다.
이제부터 닷넷 3,5팩을 install.wim에 통합하겠습니다. 이 부분은 따로 설명하지않아도 기존 윈도우에 닷넷 3.5을 활성화시키는 과정과 동일한 것이라 좀 그렇지만 아쉬움에 설명합니다.
ㅠㅠ 제가 설치되는 닷넷 버전을 착각했습니다. 스샷에 있는 닷넷 4.0은 모두 닷넷 4.7입니다. 죄송합니다.
방금 이 부분에 대해 확인이 필요해 확인한 결과입니다.
설치된 닷넷 확인 방법......
Winre.wim에 통합된 닷넷 4.7.....
install.wim에 기본 설치된 닷넷 4.7.......
install.wim에 설치한 닷넷 3.5.....
install.wim에 닷넷 3.5 통합하기
이미 추출한 install.wim 이미지를 Dism++ 프로그램으로 마운트합니다. 마운트하는 과정은 wimre.wim 이미지 과정과 동일해서 역시 생략합니다.
근데 여기서 한 가지......
나중에 비교작업하는 부분때문에 원본의 복사본이 필요합니다. 그래서 마운트하기전 미리 원본을 따로 복사해 두거나 아니면 순정 윈도우 ISO이미지에서 다시 복사합니다.
통함하는 방법이 두 가지인데 "Windows 기능"에서 통합을 하면 언어팩은 설치가 안됩니다.
그래서 언어팩도 함께 통합하고자 할 때는 " 업데이트 관리"에서 "추가" 기능으로 하면 됩니다.
install.wim에 닷넷 3,5가 잘 통합되었으니 원본 install.wim에 적용합니다. 적용하는 과정은 Wimre.wim과 동일합니다.
install.wim에 통합된 닷네 3.5 적용이 끝나면 마운트 해제를 합니다.
드뎌 기본 과정을 모두 마쳤습니다. ^^;
추가된 닷넷 3.5의 install.wim에서는 닷넷과 관련된 파일과 레지스트리 DB들을 추출하고
추가된 닷넷 4.7의 winre.wim에서는 닷넷과 관련된 파일만 추출한 다음, 나중에 3.5 닷넷관련 레지를 SYSTEM 레지DB에 추가로 병합하면 됩니다.
Beyond Compare 프로그램을 이용하여 추가된 닷넷 파일들 추출하기
추출한 폴더와 파일에 숨김폴더와 파일들이 있으니 미리 이 부분을 탐색기이나 우클릭 메뉴에서 보기로 설정합니다.
1. 추가된 닷넷 3.5의 파일들과 닷넷 4.7 파일들을 추출하기 위해 통합 전 install.wim과 통합된 install.wim 이미지가 필요합니다.
2. 추가된 닷넷 4.7 파일들을 추출하기 위해 통합 전 winre.wim과 통합된 winre.wim 이미지가 필요합니다.
이렇게 추가된 닷넷 3.5와 4.7의 파일들을 추출했습니다. 이제 불필요한 놈들을 삭제하여 정리하겠습니다.
이 부분은 철이님의 PE를 기준으로 정리하겠습니다. ^^; 제가 응용프로그램이 작동될 때 필요한 파일들을 모르기때문에 PE교과서인 철이님 PE를 기준으로 흉내를 냅니다. 그리고 추가되는 닷넷 3.5는 나름데로 필요한 부분을 남겨두겠습니다.
폴더를 합칠 때 닷넷 3,5 폴더 전체를 추출한 4.7 폴더에 덮어쓰기를 합니다. 닷넷 3.5 부분에서 추출한 폴더와 파일들에서는 이미 닷넷 4.7과 관련된 파일들이 존재하기때문입니다. winre.wim에 설치한 닷넷 4.7버전과 install.wim에 이미 포함된 닷넷 4.7버전이 같기 때문에 덮어쓰기가 가능합니다.
이렇게 미리 닷넷과 관련된 폴더와 파일을 정리하는 이유는 나중에 Winre.wim 이미지에서 닷넷과 관계된 모든 파일들을 삭제하고, 새롭게 정리된 파일들로 교체하기위해서입니다. 통합된 상태로 그냥 사용하면 PE 용량이 너무 늘어나 사용에 많은 불편이 있습니다.
작업을 위해 "숨김폴더와 파일들이 보일 수 있도록 이 부분을 탐색기이나 우클릭 메뉴에서 숨김파일 보기로 설정"합니다. 잘 모르시면 여기를 참조..... https://support.microsoft.com/ko-kr/help/4028316/windows-view-hidden-files-and-folders-in-windows-10
정리하는 과정은 서로에게 불필요하니 정리된 폴더와 파일들의 리스트만 스샷으로 보여드립니다.
정리기준에 사용한 철이님 PE는 "Win10PE_RS3_x64_Admin.wim" 2018년 1월 PE 기준입니다.
정리된 폴더와 파일 및 경로는 경험상 윈도우 버전에 따라 조금씩 다를 수 있습니다.
밑에 스샷의 정리된 파일에는 수정된 레지DB가 모두 삭제된 상태입니다.
파일 정리때문에 이놈까지 신경쓰지 못해, 나중에 레지 병합 시 install.wim에서 레지DB만 따로 추출하겠습니다.
assembly폴더 위치는 Microsoft.NET 폴더안으로 넣습니다. 원래 Winre.wim 이미지의 assembly 폴더 위치가 여기라 이놈을 다른 위치에 옮기면 레지의 DB 경로와 달라 응용프로그램들이 오류가 나옵니다. 이 부분은 윈도우 버전에 따라 폴더 위치가 다를 수 있습니다.
닷네 3.5가 추가된 install.wim에서 변경된 레지DB 추출하기
레지 추출 부분은 예전 윈스쿨 포럼의 스쿨아이님 자료를 참조하였습니다. 그리고 닷넷을 추가하면서 변경된 부분은 Beyond Compare 프로그램으로 다시 한번 확인했습니다.
변경된 레지 DB들......
- Users\Default\NTUSER.DAT
- Windows\System32\config\COMPONENTS
- Windows\System32\config\SOFTWARE
- Windows\System32\config\SYSTEM
그리고 닷넷 3.5가 통합이 안된 install.wim에서
- Windows\System32\config\SYSTEM
이렇게 총 5 가지 레지DB들을 하이브 레지작업으로 우선 추출합니다.
이 중에 닷넷 4.7이 통합된 Winre.wim에 SOFTWARE 레지DB는 전체를 병합하고, SYSTEM 레지DB는 닷넷 3.5와 관련된 레지만 추출하여 병합합니다. 닷넷 3.5와 관련된 SYSTEM레지 추출은 install.wim에 통합하기 전과 후의 SYSTEM 레지DB를 각각 하이브 레지로 내보내기하여 추가된 부분만 추출하면 됩니다.
레지스트리 하이브 로드와 언로드.......
http://oldnew.tistory.com/325?category=613522
레지의 하이브 작업을 잘모르시면 위 링크로 가셔서 우선 공부합니다
그리고 하이브 작업을 잘못할 경우 사용하는 윈도우가 에러가 나올 수 있으니, 어느 정도 자신감이 생기기 전까지는 PE에서 작업할 것을 권장합니다. PE를 권장하는 또 하나의 이유는 통합할 레지DB중에 레지의 권한을 변경해야 병합이 되는 부분이 있어서입니다. 이래저래 신경을 덜 쓰실려면 PE작업....... ^^;
저는 사용하는 컴에서 이 작업을 할 것이라 레지권한작업때문에 "ExecTI.exe" 프로그램을 사용하여 등록할 것입니다. ExecTI.exe 프로그램은 ****.reg 파일을 바로 사용할 수 없어 "RegConvert.exe" 프로그램으로 레지파일을 *****.cmd 파일로 컨버팅하여 등록하면 됩니다.
아무튼 조금 복잡한 것 같지만 익숙해지면 제법 유용하게 사용할 수 있습니다.
---------------------------------------
여기까지 설명한 방법은 제가 Dism++ 프로그램을 알기 전 일반적인 작업 방식이였고, Dism++ 프로그램을 사용하면서부터 이런 것들은 무시하고 지금은 작업합니다. 이 방법을 이미 알고 사용하시는 분들도 있겠지만 아무도 이런 작업방식을 포스팅하지않아 이번 기회를 빌어 설명합니다.
Dism++ 프로그램은 기본적으로 ****.wim 파일을 마운트하면 모든 레지DB를 하이브 로드합니다. 하이브 로드가 자동으로 되니 따로 복잡하게 레지DB들을 하나하나 로드하고 언로드하고 하는 과정을 생략해도 된다는 것입니다. 마운트 해제를 하면 하이브 자동 언로드... 마운트하면 하이브 자동 로드....ㅋㅋ
자~~ 그럼 본격적으로 레지DB들을 추출하고 통합하겠습니다.
먼저 추출할 레지 DB가 있는 install.wim 파일(닷넷 3.5가 통합된 놈)을 마운트합니다. 이 과정을 설명하기 위해 일부러 위에서 닷넷 3.5을 통합 후 마운트 해제하였지만 통합할 때 같이 레지를 추출하고 또 마운트한 상태에서 통합된 부분을 적용한 다음, 해제하지 않고 바로 Beyond Compare 프로그램에서 불러와 변경된 놈들만 추출하여도 됩니다.
이 모든 과정이 Dism++ 프로그램이라 가능한 부분입니다. 다른 프로그램에서는 테스트하지 않았지만 제기억으로는 마운트한 이미지들의 폴더 권한때문에 나중에 마운트해제 시 에러가 나온 기억들이 있습니다. 또 통합이 적용된 놈을 다른 프로그램에서 사용하려면 오픈이 안되고.... 이래저래 Dism++보다 불편한 부분이 있습니다.
기본을 알고 활용하는 것과 모르는 것은 나중에 응용력에서 많이 차이가 나더군요. 그래서 항상 제가 아는만큼 기초 작업방식을 같이 설명합니다. 그러니 포스팅이 좀 난잡하더라도 이해 바랍니다.
Dism++로 다시 닷넷 3,5가 통합된 install.wim 이미지를 마운트합니다.
다음으로 순정 install.wim 이미지(닷네 3.5가 통합이 안된 놈)에서 "SYSTEM 레지DB"를 추가로 추출하겠습니다. 나중에 닷넷 3.5가 통합된 SYSTEM 레지DB와 비교를 해 차이나는 부분을 추줄해야하니 순정 install.wim 이미지도 마운트 경로를 같게하여 마운트합니다.
순정 install.wim에서 레지 추출 후 마운트 해제합니다.
5 가지 레지를 모두 추출하였으면 이제 남은 두 가지 SYSTEM 레지DB에서 닷넷 3.5와 관련 부분을 Beyond Compare 프로그램을 이용하여 추출하겠습니다.
대신 제가 추출한 놈을 샘플로 드릴테니 참조하여 연구해 보세요~~~
이 부분은 죄송합니다. 차이나는 레지 추출을 설명하려고 했더니 Beyond Compare 프로그램을 설명하는 부분이 더 많아져
생략하는 부분이니 이해 바랍니다. 하이브 경로는 본인이 사용하는 경로로 바꾸서 사용....
제공되는 레지는 Windows RS4에만 사용 가능한 레지입니다. 그리고 윈도우가 업데이트 되면서 변화가 생기면 다시 만들어야 합니다.
추출한 닷넷 3.5 레지를 "닷넷 4.7이 통합된 Winre.wim 이미지" SYSTEM 레지DB에 병합하기
install.wim의 마운트 경로를 기억하고, "닷넷 4.7이 통합된 Winre.wim 이미지"를 마운트 경로를 같게 하여 마운트합니다. 저의 경로는 "G:\01"입니다. 이렇게 같은 경로로 마운트하는 것은 레지스트리 하이브 경로를 동일하게 만들기 위해서입니다.
마운트가 끝나면 반드시 "세션 열기"를 하여 하이브 레지를 불러옵니다.
하이브 레지의 경로가 같은 것을 확인했으니 install.wim에서 내보내기한 레지파일을 더블클릭하여 추가시키면 되는데, 문제는 레지 권한때문에 제대로 병합이 안된다는 것입니다. 그래서 이 부분을 해결하려고 PE에서 작업하거나 수동으로 레지권한을 변경하여 작업했습니다.
하지만 얼마전에 알게된 ExecTI.exe 프로그램때문에 더 이상 PE에서 레지병합 작업을 하지 않습니다. 이 프로그램은 최고권한으로 응용프로그램이나 스크립트 파일을 실행하게 해주는 놈이라 레지를 *****.cmd 파일로 변환하여 추가시키면 레지 권한 문제가 해결됩니다.
ExecTI.exe 프로그램에서 아쉬운점이 ****.reg 파일을 바로 실행할 수 없어, RegConvert.exe 프로그램을 사용하여 추출한 레지중 "닷넷 3.5가 통합된 SOFTWARE 레지와 닷넷 3.5만 있는 SYSTEM 레지" 2 가지만 ****.cmd 또는 *****.bat 파일로 변환해 줍니다.
나머지 레지들은 잘 보관합니다. 빌드 시 에러가 나오면 작업용으로 다시 사용해야 됩니다.
스샷은 작업하는 과정으로만 참조......
이렇게 본인이 원하는 스크립트 만들기 작업이 끝나면, 만들어진 스크립트 파일 중 "닷넷 3.5만 있는 SYSTEM 레지" 스크립트 파일만 ExecTI.exe 프로그램을 이용하여 "닷넷 4.7이 통합된 Winre.wim 이미지"에 병합합니다.
혹시 병합하기전에 마운트가 안되어있으면 "닷넷 4.7이 통합된 Winre.wim 이미지"를 마운트합니다. 마운트 경로는 하이브레지 경로와 같아야합니다. 이 부분이 다르면 병합이 안되니 꼭 확인을......
닷넷 3.5만 있는 SYSTEM 레지병합이 Wimre.wim 이미지에 무사히 끝났으면, 마운트한 이미지에 적용하고 마운트 해제를 하여
" 닷넷 3.5가 통합된 install.wim 이미지"에 포함된 "Windows\System32\Recovery\winre.wim" 이미지와 교체해 빌더로 빌드하면 됩니다.
교체되는 wimre.wim에 닷넷과 관계되는 폴더는 삭제하고 위에서 정리한 놈으로 교체하여 사용하면 됩니다.
PE는 전체 용량이 중요한 부분을 차지하기때문에 작업 후 용량을 최적화할 부분들이 존재합니다. 그래서 1부는 여기까지 작성하고 2부에서 이런 부분과 실제 빌더를 사용하여 닷넷과 관련된 부분들이 이상없는지 확인해 보겠습니다.
먼저 테스트 하실 분은 이렇게 빌드를 하시면 됩니다.
------------------------------------
Win10XPE_2018-04-10 이놈으로도 다시 테스트.....
추출 레지 샘플로 기록합니다. ^^;
-------------------------------------
SYSTEM 레지 병합은 닷넷 3.5가 추가된 레지부분만 따로 추출해야합니다.
그냥 install.wim의 System 레지 DB를 병합하면 부팅에러가 나옵니다.
닷넷 3.5의 추가 전과 후 레지를 비교하면 실제 많은 부분이 추가되지않으니 이 부분의 레지 추출은 쉬울 것입니다.
아무 생각없이 작성하다 보니 이 부분을 착각했습니다. install.wim에서 추출한 SYSTEM 레지DB를 그대로 병합하면 안됩니다.
이놈은 3.5병합 하기전과 후의 레지를 비교하여 추출하면 됩니다.
;SYSTEM 레지DB에 닷넷 3.5추가 부분만......(Tmp_System 빌더의 하이브 경로입니다.)
이놈을 그냥 빌더의 스크립트 파일중에 Tmp_System 하이브를 사용하는 놈부분에 추가하면 따로 레지병합을 하지않아도 됩니다.
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Data]
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Data\Linkage]
"Export"="2e,00,4e,00,45,00,54,00,20,00,43,00,4c,00,52,00,20,00,44,00,61,00,74,00,61,00,00,00,00,00"
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Data\Performance]
"Close"="ClosePerformanceData"
"Collect"="CollectPerformanceData"
"Counter Names"=hex:53,00,71,00,6c,00,43,00,6c,00,69,00,65,00,6e,00,74,00,3a,\
00,20,00,43,00,75,00,72,00,72,00,65,00,6e,00,74,00,20,00,23,00,20,00,70,00,\
6f,00,6f,00,6c,00,65,00,64,00,20,00,61,00,6e,00,64,00,20,00,6e,00,6f,00,6e,\
00,70,00,6f,00,6f,00,6c,00,65,00,64,00,20,00,63,00,6f,00,6e,00,6e,00,65,00,\
63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,53,00,71,00,6c,00,43,00,6c,00,69,\
00,65,00,6e,00,74,00,3a,00,20,00,43,00,75,00,72,00,72,00,65,00,6e,00,74,00,\
20,00,23,00,20,00,70,00,6f,00,6f,00,6c,00,65,00,64,00,20,00,63,00,6f,00,6e,\
00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,53,00,71,00,6c,00,\
43,00,6c,00,69,00,65,00,6e,00,74,00,3a,00,20,00,43,00,75,00,72,00,72,00,65,\
00,6e,00,74,00,20,00,23,00,20,00,63,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,\
69,00,6f,00,6e,00,20,00,70,00,6f,00,6f,00,6c,00,73,00,00,00,53,00,71,00,6c,\
00,43,00,6c,00,69,00,65,00,6e,00,74,00,3a,00,20,00,50,00,65,00,61,00,6b,00,\
20,00,23,00,20,00,70,00,6f,00,6f,00,6c,00,65,00,64,00,20,00,63,00,6f,00,6e,\
00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,53,00,71,00,6c,00,\
43,00,6c,00,69,00,65,00,6e,00,74,00,3a,00,20,00,54,00,6f,00,74,00,61,00,6c,\
00,20,00,23,00,20,00,66,00,61,00,69,00,6c,00,65,00,64,00,20,00,63,00,6f,00,\
6e,00,6e,00,65,00,63,00,74,00,73,00,00,00,53,00,71,00,6c,00,43,00,6c,00,69,\
00,65,00,6e,00,74,00,3a,00,20,00,54,00,6f,00,74,00,61,00,6c,00,20,00,23,00,\
20,00,66,00,61,00,69,00,6c,00,65,00,64,00,20,00,63,00,6f,00,6d,00,6d,00,61,\
00,6e,00,64,00,73,00,00,00,00,00
"Counter Types"=hex:36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,\
00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,\
36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,\
00,00,00,00,00
"Library"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,\
00,65,00,74,00,66,00,78,00,70,00,65,00,72,00,66,00,2e,00,64,00,6c,00,6c,00,\
00,00
"Open"="OpenPerformanceData"
"InstallType"=dword:00000001
"PerfIniFile"="_DataPerfCounters_d.ini"
"First Counter"=dword:00000f92
"Last Counter"=dword:00000f9e
"First Help"=dword:00000f93
"Last Help"=dword:00000f9f
"Object List"="3986"
"CategoryOptions"=dword:00000001
"IsMultiInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Networking]
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Networking\Linkage]
"Export"="2e,00,4e,00,45,00,54,00,20,00,43,00,4c,00,52,00,20,00,4e,00,65,00,74,00,77,00,6f,00,72,00,6b,00,69,00,6e,00,67,00,00,00,00,00"
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Networking\Performance]
"Close"="ClosePerformanceData"
"Collect"="CollectPerformanceData"
"Counter Names"=hex:43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,\
00,73,00,20,00,45,00,73,00,74,00,61,00,62,00,6c,00,69,00,73,00,68,00,65,00,\
64,00,00,00,42,00,79,00,74,00,65,00,73,00,20,00,52,00,65,00,63,00,65,00,69,\
00,76,00,65,00,64,00,00,00,42,00,79,00,74,00,65,00,73,00,20,00,53,00,65,00,\
6e,00,74,00,00,00,44,00,61,00,74,00,61,00,67,00,72,00,61,00,6d,00,73,00,20,\
00,52,00,65,00,63,00,65,00,69,00,76,00,65,00,64,00,00,00,44,00,61,00,74,00,\
61,00,67,00,72,00,61,00,6d,00,73,00,20,00,53,00,65,00,6e,00,74,00,00,00,00,\
00
"Counter Types"=hex:36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,37,00,39,\
00,32,00,00,00,36,00,35,00,37,00,39,00,32,00,00,00,36,00,35,00,35,00,33,00,\
36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,00,00
"Library"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,\
00,65,00,74,00,66,00,78,00,70,00,65,00,72,00,66,00,2e,00,64,00,6c,00,6c,00,\
00,00
"Open"="OpenPerformanceData"
"InstallType"=dword:00000001
"PerfIniFile"="_Networkingperfcounters_v2_d.ini"
"First Counter"=dword:00000e82
"Last Counter"=dword:00000e8c
"First Help"=dword:00000e83
"Last Help"=dword:00000e8d
"Object List"="3714"
"CategoryOptions"=dword:00000003
"FileMappingSize"=dword:00020000
"IsMultiInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Networking 4.0.0.0]
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Networking 4.0.0.0\Linkage]
"Export"=hex(7):2e,00,4e,00,45,00,54,00,20,00,43,00,4c,00,52,00,20,00,4e,00,65,\
00,74,00,77,00,6f,00,72,00,6b,00,69,00,6e,00,67,00,20,00,34,00,2e,00,30,00,\
2e,00,30,00,2e,00,30,00,00,00,00,00
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET CLR Networking 4.0.0.0\Performance]
"CategoryOptions"=dword:00000003
"Close"="ClosePerformanceData"
"Collect"="CollectPerformanceData"
"Counter Names"=hex(7):43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,\
6e,00,73,00,20,00,45,00,73,00,74,00,61,00,62,00,6c,00,69,00,73,00,68,00,65,\
00,64,00,00,00,42,00,79,00,74,00,65,00,73,00,20,00,52,00,65,00,63,00,65,00,\
69,00,76,00,65,00,64,00,00,00,42,00,79,00,74,00,65,00,73,00,20,00,53,00,65,\
00,6e,00,74,00,00,00,44,00,61,00,74,00,61,00,67,00,72,00,61,00,6d,00,73,00,\
20,00,52,00,65,00,63,00,65,00,69,00,76,00,65,00,64,00,00,00,44,00,61,00,74,\
00,61,00,67,00,72,00,61,00,6d,00,73,00,20,00,53,00,65,00,6e,00,74,00,00,00,\
48,00,74,00,74,00,70,00,57,00,65,00,62,00,52,00,65,00,71,00,75,00,65,00,73,\
00,74,00,73,00,20,00,43,00,72,00,65,00,61,00,74,00,65,00,64,00,2f,00,53,00,\
65,00,63,00,00,00,48,00,74,00,74,00,70,00,57,00,65,00,62,00,52,00,65,00,71,\
00,75,00,65,00,73,00,74,00,73,00,20,00,41,00,76,00,65,00,72,00,61,00,67,00,\
65,00,20,00,4c,00,69,00,66,00,65,00,74,00,69,00,6d,00,65,00,00,00,48,00,74,\
00,74,00,70,00,57,00,65,00,62,00,52,00,65,00,71,00,75,00,65,00,73,00,74,00,\
73,00,20,00,41,00,76,00,65,00,72,00,61,00,67,00,65,00,20,00,4c,00,69,00,66,\
00,65,00,74,00,69,00,6d,00,65,00,20,00,42,00,61,00,73,00,65,00,00,00,48,00,\
74,00,74,00,70,00,57,00,65,00,62,00,52,00,65,00,71,00,75,00,65,00,73,00,74,\
00,73,00,20,00,51,00,75,00,65,00,75,00,65,00,64,00,2f,00,53,00,65,00,63,00,\
00,00,48,00,74,00,74,00,70,00,57,00,65,00,62,00,52,00,65,00,71,00,75,00,65,\
00,73,00,74,00,73,00,20,00,41,00,76,00,65,00,72,00,61,00,67,00,65,00,20,00,\
51,00,75,00,65,00,75,00,65,00,20,00,54,00,69,00,6d,00,65,00,00,00,48,00,74,\
00,74,00,70,00,57,00,65,00,62,00,52,00,65,00,71,00,75,00,65,00,73,00,74,00,\
73,00,20,00,41,00,76,00,65,00,72,00,61,00,67,00,65,00,20,00,51,00,75,00,65,\
00,75,00,65,00,20,00,54,00,69,00,6d,00,65,00,20,00,42,00,61,00,73,00,65,00,\
00,00,48,00,74,00,74,00,70,00,57,00,65,00,62,00,52,00,65,00,71,00,75,00,65,\
00,73,00,74,00,73,00,20,00,41,00,62,00,6f,00,72,00,74,00,65,00,64,00,2f,00,\
53,00,65,00,63,00,00,00,48,00,74,00,74,00,70,00,57,00,65,00,62,00,52,00,65,\
00,71,00,75,00,65,00,73,00,74,00,73,00,20,00,46,00,61,00,69,00,6c,00,65,00,\
64,00,2f,00,53,00,65,00,63,00,00,00,00,00
"Counter Types"=hex:36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,37,00,39,\
00,32,00,00,00,36,00,35,00,37,00,39,00,32,00,00,00,36,00,35,00,35,00,33,00,\
36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,34,00,31,00,39,00,35,00,33,\
00,32,00,38,00,00,00,31,00,30,00,37,00,33,00,38,00,37,00,34,00,31,00,37,00,\
36,00,00,00,31,00,30,00,37,00,33,00,39,00,33,00,39,00,34,00,35,00,38,00,00,\
00,34,00,31,00,39,00,35,00,33,00,32,00,38,00,00,00,31,00,30,00,37,00,33,00,\
38,00,37,00,34,00,31,00,37,00,36,00,00,00,31,00,30,00,37,00,33,00,39,00,33,\
00,39,00,34,00,35,00,38,00,00,00,34,00,31,00,39,00,35,00,33,00,32,00,38,00,\
00,00,34,00,31,00,39,00,35,00,33,00,32,00,38,00,00,00,00,00
"FileMappingSize"=dword:00020000
"IsMultiInstance"=dword:00000001
"Library"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,\
00,65,00,74,00,66,00,78,00,70,00,65,00,72,00,66,00,2e,00,64,00,6c,00,6c,00,\
00,00
"Open"="OpenPerformanceData"
"InstallType"=dword:00000001
"PerfIniFile"="_Networkingperfcounters_d.ini"
"First Counter"=dword:00001178
"Last Counter"=dword:00001192
"First Help"=dword:00001179
"Last Help"=dword:00001193
"Object List"="4472"
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Data Provider for Oracle]
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Data Provider for Oracle\Linkage]
"Export"="2e,00,4e,00,45,00,54,00,20,00,44,00,61,00,74,00,61,00,20,00,50,00,72,00,6f,00,76,00,69,00,64,00,65,00,72,00,20,00,66,00,6f,00,72,00,20,00,4f,00,72,00,61,00,63,00,6c,00,65,00,00,00,00,00"
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Data Provider for Oracle\Performance]
"CategoryOptions"=dword:00000003
"Close"="ClosePerformanceData"
"Collect"="CollectPerformanceData"
"Counter Names"=hex:48,00,61,00,72,00,64,00,43,00,6f,00,6e,00,6e,00,65,00,63,\
00,74,00,73,00,50,00,65,00,72,00,53,00,65,00,63,00,6f,00,6e,00,64,00,00,00,\
48,00,61,00,72,00,64,00,44,00,69,00,73,00,63,00,6f,00,6e,00,6e,00,65,00,63,\
00,74,00,73,00,50,00,65,00,72,00,53,00,65,00,63,00,6f,00,6e,00,64,00,00,00,\
53,00,6f,00,66,00,74,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,73,00,50,\
00,65,00,72,00,53,00,65,00,63,00,6f,00,6e,00,64,00,00,00,53,00,6f,00,66,00,\
74,00,44,00,69,00,73,00,63,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,73,00,50,\
00,65,00,72,00,53,00,65,00,63,00,6f,00,6e,00,64,00,00,00,4e,00,75,00,6d,00,\
62,00,65,00,72,00,4f,00,66,00,4e,00,6f,00,6e,00,50,00,6f,00,6f,00,6c,00,65,\
00,64,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,\
00,00,4e,00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,50,00,6f,00,6f,00,6c,\
00,65,00,64,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,\
73,00,00,00,4e,00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,41,00,63,00,74,\
00,69,00,76,00,65,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,\
6e,00,50,00,6f,00,6f,00,6c,00,47,00,72,00,6f,00,75,00,70,00,73,00,00,00,4e,\
00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,49,00,6e,00,61,00,63,00,74,00,\
69,00,76,00,65,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,\
00,50,00,6f,00,6f,00,6c,00,47,00,72,00,6f,00,75,00,70,00,73,00,00,00,4e,00,\
75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,41,00,63,00,74,00,69,00,76,00,65,\
00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,50,00,6f,00,\
6f,00,6c,00,73,00,00,00,4e,00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,49,\
00,6e,00,61,00,63,00,74,00,69,00,76,00,65,00,43,00,6f,00,6e,00,6e,00,65,00,\
63,00,74,00,69,00,6f,00,6e,00,50,00,6f,00,6f,00,6c,00,73,00,00,00,4e,00,75,\
00,6d,00,62,00,65,00,72,00,4f,00,66,00,41,00,63,00,74,00,69,00,76,00,65,00,\
43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,4e,\
00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,46,00,72,00,65,00,65,00,43,00,\
6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,4e,00,75,\
00,6d,00,62,00,65,00,72,00,4f,00,66,00,53,00,74,00,61,00,73,00,69,00,73,00,\
43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,4e,\
00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,52,00,65,00,63,00,6c,00,61,00,\
69,00,6d,00,65,00,64,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,\
00,6e,00,73,00,00,00,00,00
"Counter Types"=hex:32,00,37,00,32,00,36,00,39,00,36,00,33,00,32,00,30,00,00,\
00,32,00,37,00,32,00,36,00,39,00,36,00,33,00,32,00,30,00,00,00,32,00,37,00,\
32,00,36,00,39,00,36,00,33,00,32,00,30,00,00,00,32,00,37,00,32,00,36,00,39,\
00,36,00,33,00,32,00,30,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,\
35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,\
00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,\
35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,\
00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,\
33,00,36,00,00,00,00,00
"FileMappingSize"=dword:00020000
"IsMultiInstance"=dword:00000001
"Library"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,\
00,65,00,74,00,66,00,78,00,70,00,65,00,72,00,66,00,2e,00,64,00,6c,00,6c,00,\
00,00
"Open"="OpenPerformanceData"
"InstallType"=dword:00000001
"PerfIniFile"="_DataOracleClientPerfCounters_shared12_neutral_d.ini"
"First Counter"=dword:00000f74
"Last Counter"=dword:00000f90
"First Help"=dword:00000f75
"Last Help"=dword:00000f91
"Object List"="3956"
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Data Provider for SqlServer]
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Data Provider for SqlServer\Linkage]
"Export"="2e,00,4e,00,45,00,54,00,20,00,44,00,61,00,74,00,61,00,20,00,50,00,72,00,6f,00,76,00,69,00,64,00,65,00,72,00,20,00,66,00,6f,00,72,00,20,00,53,00,71,00,6c,00,53,00,65,00,72,00,76,00,65,00,72,00,00,00,00,00"
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Data Provider for SqlServer\Performance]
"CategoryOptions"=dword:00000003
"Close"="ClosePerformanceData"
"Collect"="CollectPerformanceData"
"Counter Names"=hex:48,00,61,00,72,00,64,00,43,00,6f,00,6e,00,6e,00,65,00,63,\
00,74,00,73,00,50,00,65,00,72,00,53,00,65,00,63,00,6f,00,6e,00,64,00,00,00,\
48,00,61,00,72,00,64,00,44,00,69,00,73,00,63,00,6f,00,6e,00,6e,00,65,00,63,\
00,74,00,73,00,50,00,65,00,72,00,53,00,65,00,63,00,6f,00,6e,00,64,00,00,00,\
53,00,6f,00,66,00,74,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,73,00,50,\
00,65,00,72,00,53,00,65,00,63,00,6f,00,6e,00,64,00,00,00,53,00,6f,00,66,00,\
74,00,44,00,69,00,73,00,63,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,73,00,50,\
00,65,00,72,00,53,00,65,00,63,00,6f,00,6e,00,64,00,00,00,4e,00,75,00,6d,00,\
62,00,65,00,72,00,4f,00,66,00,4e,00,6f,00,6e,00,50,00,6f,00,6f,00,6c,00,65,\
00,64,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,\
00,00,4e,00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,50,00,6f,00,6f,00,6c,\
00,65,00,64,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,\
73,00,00,00,4e,00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,41,00,63,00,74,\
00,69,00,76,00,65,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,\
6e,00,50,00,6f,00,6f,00,6c,00,47,00,72,00,6f,00,75,00,70,00,73,00,00,00,4e,\
00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,49,00,6e,00,61,00,63,00,74,00,\
69,00,76,00,65,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,\
00,50,00,6f,00,6f,00,6c,00,47,00,72,00,6f,00,75,00,70,00,73,00,00,00,4e,00,\
75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,41,00,63,00,74,00,69,00,76,00,65,\
00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,50,00,6f,00,\
6f,00,6c,00,73,00,00,00,4e,00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,49,\
00,6e,00,61,00,63,00,74,00,69,00,76,00,65,00,43,00,6f,00,6e,00,6e,00,65,00,\
63,00,74,00,69,00,6f,00,6e,00,50,00,6f,00,6f,00,6c,00,73,00,00,00,4e,00,75,\
00,6d,00,62,00,65,00,72,00,4f,00,66,00,41,00,63,00,74,00,69,00,76,00,65,00,\
43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,4e,\
00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,46,00,72,00,65,00,65,00,43,00,\
6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,4e,00,75,\
00,6d,00,62,00,65,00,72,00,4f,00,66,00,53,00,74,00,61,00,73,00,69,00,73,00,\
43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,00,6e,00,73,00,00,00,4e,\
00,75,00,6d,00,62,00,65,00,72,00,4f,00,66,00,52,00,65,00,63,00,6c,00,61,00,\
69,00,6d,00,65,00,64,00,43,00,6f,00,6e,00,6e,00,65,00,63,00,74,00,69,00,6f,\
00,6e,00,73,00,00,00,00,00
"Counter Types"=hex:32,00,37,00,32,00,36,00,39,00,36,00,33,00,32,00,30,00,00,\
00,32,00,37,00,32,00,36,00,39,00,36,00,33,00,32,00,30,00,00,00,32,00,37,00,\
32,00,36,00,39,00,36,00,33,00,32,00,30,00,00,00,32,00,37,00,32,00,36,00,39,\
00,36,00,33,00,32,00,30,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,\
35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,\
00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,\
35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,\
00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,\
33,00,36,00,00,00,00,00
"FileMappingSize"=dword:00020000
"IsMultiInstance"=dword:00000001
"Library"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,\
00,65,00,74,00,66,00,78,00,70,00,65,00,72,00,66,00,2e,00,64,00,6c,00,6c,00,\
00,00
"Open"="OpenPerformanceData"
"InstallType"=dword:00000001
"PerfIniFile"="_dataperfcounters_shared12_neutral_d.ini"
"First Counter"=dword:00000fa0
"Last Counter"=dword:00000fbc
"First Help"=dword:00000fa1
"Last Help"=dword:00000fbd
"Object List"="4000"
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Memory Cache 4.0]
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Memory Cache 4.0\Linkage]
"Export"=""
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NET Memory Cache 4.0\Performance]
"CategoryOptions"=dword:00000003
"Close"="ClosePerformanceData"
"Collect"="CollectPerformanceData"
"Counter Names"=hex:43,00,61,00,63,00,68,00,65,00,20,00,48,00,69,00,74,00,73,\
00,00,00,43,00,61,00,63,00,68,00,65,00,20,00,4d,00,69,00,73,00,73,00,65,00,\
73,00,00,00,43,00,61,00,63,00,68,00,65,00,20,00,48,00,69,00,74,00,20,00,52,\
00,61,00,74,00,69,00,6f,00,00,00,43,00,61,00,63,00,68,00,65,00,20,00,48,00,\
69,00,74,00,20,00,52,00,61,00,74,00,69,00,6f,00,20,00,42,00,61,00,73,00,65,\
00,00,00,43,00,61,00,63,00,68,00,65,00,20,00,54,00,72,00,69,00,6d,00,73,00,\
00,00,43,00,61,00,63,00,68,00,65,00,20,00,45,00,6e,00,74,00,72,00,69,00,65,\
00,73,00,00,00,43,00,61,00,63,00,68,00,65,00,20,00,54,00,75,00,72,00,6e,00,\
6f,00,76,00,65,00,72,00,20,00,52,00,61,00,74,00,65,00,00,00,00,00
"Counter Types"=hex:36,00,35,00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,\
00,36,00,00,00,35,00,33,00,37,00,30,00,30,00,33,00,30,00,30,00,38,00,00,00,\
31,00,30,00,37,00,33,00,39,00,33,00,39,00,34,00,35,00,39,00,00,00,36,00,35,\
00,35,00,33,00,36,00,00,00,36,00,35,00,35,00,33,00,36,00,00,00,32,00,37,00,\
32,00,36,00,39,00,36,00,33,00,32,00,30,00,00,00,00,00
"FileMappingSize"=dword:00020000
"IsMultiInstance"=dword:00000001
"Library"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,\
00,65,00,74,00,66,00,78,00,70,00,65,00,72,00,66,00,2e,00,64,00,6c,00,6c,00,\
00,00
"Open"="OpenPerformanceData"
"InstallType"=dword:00000001
"PerfIniFile"="netmemorycache_d.ini"
"First Counter"=dword:00000e8e
"Last Counter"=dword:00000e9c
"First Help"=dword:00000e8f
"Last Help"=dword:00000e9d
"Object List"="3726"
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NETFramework]
[HKEY_LOCAL_MACHINE\Tmp_System\ControlSet001\Services\.NETFramework\Performance]
"Close"="CloseCtrs"
"Collect"="CollectCtrs"
"Library"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,\
00,73,00,63,00,6f,00,72,00,65,00,65,00,2e,00,64,00,6c,00,6c,00,00,00
"Open"="OpenCtrs"
"InstallType"=dword:00000001
"PerfIniFile"="corperfmonsymbols_d.ini"
"First Counter"=dword:00000ec4
"Last Counter"=dword:00000f72
"First Help"=dword:00000ec5
"Last Help"=dword:00000f73
레지경로를 참조해서 추출......
중간중간 설명을 억지로 한 부분들이 있습니다.
이해 바랍니다.~~~ 꾸~~~벅
댓글 [82]
compuser
- 2018.04.11
- 14:42:04
이제 또 공부할 준비를 해야할 것 같습니다.
WinBuilder에 .Net 통합 과정의 주옥같은 강좌 정말 수고 많으셨습니다.
확인하시고 자료 수집하시고 적용하시고 테스트하시고 또 적용하시고.........
이렇게 포스팅하여 문맹자의 눈을 밝혀주시기까지의 노고에 백 번 감사 드립니다.
수고해 배려해주신만큼 열심히 탐독하고 익혀보겠습니다.
2부 연재도 기다려봅니다. 좋은 시간 되시길 바랍니다. OldM*C님^^
왕초보
- 2018.04.11
- 15:11:13
그저 감탄이 절로 나옵니다...
어려운 문제를 해결하시고...누가나..배울수 있도록..고급 지식을..이렇게 자세히 설명을 해주셔서 감사합니다
재능기부가 어떤것인지..알려주시는 멋진 강좌 감사합니다
복 많이 받으십시요..
OldMaC
- 2018.04.12
- 12:59:24
윈도우의 경로명 제한때문에 이런 에러가 나올 수 있기때문에... 또는 폴더명이 한국어인 경우 Dism++에서 이런 에러가 나올 수 있습니다.
그러니 마운트 경로는 최대한 짦게 하시고, 한글도 되도록이면 사용하지 않는 것이 좋을 것 같습니다.
특히 업데이트 통합인 경우 WinSXS폴더의 폴더명이 길어 가끔 에러가 나올 수 있습니다. 이런 이유로 마운트 경로는 최대한 짧게...ㅋㅋ
선우
- 2018.04.11
- 15:57:08
허걱~~ 소리가 저절로 나오는 사부님의 노력과 열정에 그저 고개를 숙일뿐 아무 말씀도 드리지 못하겠습니다 크신 노고에 감사 드리고요 입문자가 따라 하기엔 너무 너무 긴 여정의 길이 될것 같습니다 언젠간 꼭 접하게 될 코스인것만은 분명하다 생각 합니다 먼저 해독 하시고 이해할수 있게 긴 포스팅에 시간을 내어 주셔서 진심으로 고맙습니다 노고가 크셨습니다 ~~꾸벅
Videoman
- 2018.04.11
- 16:19:29
저 이거 보고 눈이 튀어 나오는 줄 알고 ...
도통 머리 뒤밀기 해도 머리가 석자라 일단 슬쩍 스크립 해 봅니다.
보고 또 보면 볼수록 머리가 지근 ~~~
넘 감사하고 고맙습니다. 이해가 되면 나중에 라도 뒤밀기 해 보렵니다. ^(*)^ ...
elsakoko
- 2018.04.11
- 16:21:38
pe 만드시는 분들께는 참으로 유익한 정보일 것입니다. 수고 많이 하셨습니다.
저는 그냥 집앞의_큰나무-OldMaC 사용자로만 남겠습니다. ㅎㅎ
집앞의_큰나무
- 2018.04.11
- 16:24:45
닷넷 관련 레지를 보니 윈도우를 만드는 과정 만큼이나
많은 부분에 걸쳐 있던데 애구 머리만 쥐어 짜다 말았네요
스쿨아이님은 어디에서 뭘하시는지 전혀 모르겠고요 건강 하시길 바랄뿐.
보리네 아버지는 저기 사용기에 N*** 아뒤가 동일 인물 일겁니다.
복태취업했다
- 2018.04.11
- 17:21:39
반넘게 따라왔네요. 아래부분에서 막혔습니다. install.wim이 닷넷3.5추가된 install.wim을 뜻하는건지요? 그거를 레지스트리워크샵으로 아래4개레지를 추출한다는뜻인지요?
install.wim에서 변경된 레지DB 추출하기
변경된 레지 DB들......
- Users\Default\NTUSER.DAT
- Windows\System32\config\COMPONENTS
- Windows\System32\config\SOFTWARE
- Windows\System32\config\SYSTEM
OldMaC
- 2018.04.11
- 17:33:14
네~~~
다만 포스팅 마지막 부분에 추가했지만 System 레지만 변경전과 후의 레지 2가지가 다 필요합니다.
제가 아무 생각없이 포스팅하다보니 이 부분을 놓쳤습니다. 나머지 레지는 사실 필요가 없습니다.
빌더에서 빌드 시 Sortware 부분만 체크하고 빌드하면 되니까요... 그래서 실제로는 닷넷 3.5가 추가된 레지 부분만 System 레지DB에서 추출하면 됩니다.
나머지 ntuser.dat 와 Componts 레지DB는 혹시나 하고 미리 추출하지만 병합할 필요가 없는 부분입니다.
병합한다고 해도 제가 테스트할 때는 이상이 없었고요. 병합하면 괜히 용량만 늘어나니 이 2가지는 병합하지 마세요.
^^; 괜히 정리한다고 포스팅했다가 이래저래 더 헤매고 있습니다.
집앞의_큰나무
- 2018.04.11
- 19:36:54
새로 간략 빌드 하고
살짝 컨닝 해서 약식으로 해본바 EasyBCD는 잘되네요
역쉬~ 올드맥님 이어렵고 많은것을 찾아내고.... 홧팅
온데만데
- 2018.04.11
- 20:03:07
초보로선 그저 대단하시다는 말밖엔 드릴 게 없습니다.
댓글까지 눈팅해가며 " 이 뭐꼬? " 를 그리는 중입니다.
쉬엄쉬엄 쉬시면서 하세요. 건강이 최고입니다. 추천은 필수!!!
왕초보
- 2018.04.11
- 21:23:20
힘들게 공부하신것을..나누시려고 하시는 마음을 알고 있습니다..
글을 보고..오늘 또 고생을 하시겠구나 하는 생각부터 들었습니다..
화이팅입니다..
OldMaC
- 2018.04.12
- 13:02:51
ㅋㅋ 감사합니다. 덕분에 잘 마무리하고, 큰나무님이 확인사살 중입니다.
저는 이상없는데 테스트하면서 에러가 나오는 부분만 보충하면 될 것 같습니다.
늘 건강하세요~~~
대단히 수고많았습니다
쳐다만봐도 머리아픈데 ...존경합니다