성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] VT sequences to "CONOUT$" vs. STD_O...
[정성태] NetCoreDbg is a managed code debugg...
[정성태] Evaluating tail call elimination in...
[정성태] What’s new in System.Text.Json in ....
[정성태] What's new in .NET 9: Cryptography ...
[정성태] 아... 제시해 주신 "https://akrzemi1.wordp...
[정성태] 다시 질문을 정리할 필요가 있을 것 같습니다. 제가 본문에...
[이승준] 완전히 잘못 짚었습니다. 댓글 지우고 싶네요. 검색을 해보...
[정성태] 우선 답글 감사합니다. ^^ 그런데, 사실 저 예제는 (g...
[이승준] 수정이 안되어서... byteArray는 BYTE* 타입입니다...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>레지스트리 권한 오류 - Cannot edit [Registry key name]: Error writing the value's new contents.</h1> <p> 레지스트리 값을 변경하려는 데 다음과 같이 오류가 발생할 수 있습니다.<br /> <br /> <img alt='regedit_access_denied_0.png' src='/SysWebRes/bbs/regedit_access_denied_0.png' /><br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Cannot edit [Registry key name]: Error writing the value's new contents. </pre> <br /> 위의 화면은 실제로 "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full" 경로의 "Version" 항목의 값을 변경하려는 데 발생한 오류입니다. 물론, 권한이 없다는 것이므로 사용자에게 권한을 주기 위해 "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full" 노드 자체의 속성 창을 통해 변경을 시도해 보았습니다. 그런데 다음과 같이 오류가 나는 군요. ^^<br /> <br /> <img onclick='toggle_img(this)' class='imgView' alt='regedit_access_denied_1.png' src='/SysWebRes/bbs/regedit_access_denied_1.png' /><br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Unable to save permission changes on Full. Access is denied. </pre> <br /> 그렇습니다. 이것은 "TrustedInstaller"에게만 "Full Control"이 설정되어 있습니다. 이 문제를 해결하려면 다음의 "Take Ownership" 방법을 통해 TrustedInstaller에서 현재 로그인한 사용자로 바꿔주는 것입니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > SYSTEM 또는 TrustedInstaller 소유로 되어 있는 폴더/파일을 삭제하는 방법 ; <a target='tab' href='http://www.sysnet.pe.kr/2/0/1519'>http://www.sysnet.pe.kr/2/0/1519</a> </pre> <br /> 그런 다음, 다시 원래의 TrustedInstaller로 바꾸고 싶다면 다음의 글에 소개된 방법을 따르면 됩니다. (방법은 같은데, 이름이 "NT SERVICE\TrustedInstaller"라는 점만 주의하면 됩니다.)<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > [Guide] How to Restore “TrustedInstaller” as Default Owner of a File, Folder or Registry Key in Windows? ; <a target='tab' href='http://www.askvg.com/guide-how-to-restore-trustedinstaller-as-default-owner-of-a-file-or-folder-in-windows/'>http://www.askvg.com/guide-how-to-restore-trustedinstaller-as-default-owner-of-a-file-or-folder-in-windows/</a> </pre> <br /> 하지만, 역시나 이렇게 UI를 통해 일일이 수작업으로 바꿔주는 것은 번거로울 수밖에 없습니다. 프로그래밍으로 자동화하고 싶다면 다음의 글에서 소개한 RunasSystem64, RunFromToken64 프로그램의 도움을 받아,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > TrustedInstaller 권한으로 프로그램 실행시키는 방법 ; <a target='tab' href='http://www.sysnet.pe.kr/2/0/2915'>http://www.sysnet.pe.kr/2/0/2915</a> </pre> <br /> 아래와 같은 C# 프로그램을 만들어 인자로 전달하면 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > using Microsoft.Win32; using System; class Program { static void Main(string[] args) { string path = @"SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full"; try { RegistryKey regKey = Registry.LocalMachine.OpenSubKey(path, true); Console.WriteLine(regKey.GetValue("Version")); regKey.SetValue("Version", "4.6.00057"); regKey.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); } Console.ReadLine(); } } </pre> <br /> 어느 쪽이든, 쉽고 빠른 방법을 선택하시면 되겠습니다. ^^<br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1021
(왼쪽의 숫자를 입력해야 합니다.)