Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Visual Studio IDE 설치 없이 Visual Studio SDK 설치하는 방법

(How to install Visual Studio SDK without IDE installed?)
예를 들어, Visual Studio 2012가 없는 상태에서 Visual Studio 2012 SDK(vssdk_full.exe)를 설치하려 했더니 다음과 같이 창이 뜨면서 더 이상 진행되지 않습니다.

Setup Blocked

Correct the following problems and then run setup again. Click here to see the most common issues and workarounds or here to review the log file.

Microsoft Visual Studio is required, but it is not installed on this computer. Please install it and retry.

물론, 설치해도 상관은 없겠지만... 단순히 SDK만 필요할 뿐인데 해당 SDK에 대응되는 Visual Studio를 설치한다는 것도 좀 우스운 것 같아서 방법을 찾아봤습니다.

다행히 오류 메시지에 나온 %LOCALAPPDATA%\Temp\dd_vssdk_full_...[날짜].log 파일에서 해답을 찾았습니다.

...[생략]...
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Detection Phase
[3FD0:229C][2015-07-08T10:27:19]: MUX:  ---------------
[3FD0:229C][2015-07-08T10:27:19]: Registry key not found. Key = 'SOFTWARE\Microsoft\DevDiv\vs\Servicing\11.0\professional'
[3FD0:229C][2015-07-08T10:27:19]: Registry key not found. Key = 'SOFTWARE\Microsoft\DevDiv\vs\Servicing\11.0\vscore'
[3FD0:229C][2015-07-08T10:27:19]: Setting string variable 'VSComponentPathVariable' to value 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\'
[3FD0:229C][2015-07-08T10:27:19]: Registry key not found. Key = 'SOFTWARE\Microsoft\DevDiv\vssdk\Servicing\11.0\core'
[3FD0:229C][2015-07-08T10:27:19]: Setting numeric variable 'vssdk_DetectKeyExists' to value 0
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Adding package: vssdk_core to package detect list
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Reset Result
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Reset Result
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Adding package: vssdk_coreres to package detect list
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Reset Result
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Reset Result
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Adding package: vssdk_finalizer to package detect list
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Reset Result
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Reset Result
[3FD0:229C][2015-07-08T10:27:19]: Detected package: vssdk_core, state: Absent, cached: None
[3FD0:229C][2015-07-08T10:27:19]: Detected package: vssdk_coreres, state: Absent, cached: None
[3FD0:229C][2015-07-08T10:27:19]: Detected package: vssdk_finalizer, state: Absent, cached: None
[3FD0:229C][2015-07-08T10:27:19]: Condition 'CompatibilityMode = 0' evaluates to false.
[3FD0:229C][2015-07-08T10:27:19]: Condition '(VersionNT < v6.1)' evaluates to false.
[3FD0:229C][2015-07-08T10:27:19]: Condition '( NOT (ProCheck_ProfessionalCore_DetectKey = 1 OR ProCheck_VSCore_DetectKey = 1) ) AND (CurrentOperation = "Install") ' evaluates to true.
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Stop Block: ProfressionalBlock : Microsoft Visual Studio is required, but it is not installed on this computer. Please install it and retry.
[3FD0:229C][2015-07-08T10:27:19]: MUX:  Detect Completed
...[생략]...

그렇군요. ^^ 저것만 맞춰주면 되는 것입니다. 따라서, 다음의 .reg 파일만 등록해 주면 됩니다.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\vs\Servicing\11.0\professional]
"Install"=dword:00000001

아니면 수작업으로 직접 regedit.exe에서 "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\vs\Servicing\11.0\professional" 경로에 "Install" 이름으로 1 값을 지정해 주면 됩니다.




참고로, 이런 오류에 막혀서 설치가 진행되지 않을 수 있습니다.

Windows Program Compatibility mode is on. Turn it off and then try Setup again.

찾아보니까 다음과 같은 글이 나오는데요.

"Windows Program Compatibility mode is on. Turn it off and then try Setup again." ? How to uninstall an app if this happens.
; http://edd.stefancamilleri.com/2013/02/13/windows-program-compatibility-mode-is-on-turn-it-off-and-then-try-setup-again-how-to-uninstall-an-app-if-this-happens/

제 경우에는 이것과 무관했습니다. 찾고 찾은 끝에... vssdk_full.exe 파일이 암호화 된 경우에도 저런 메시지가 나온다는 것을 발견했고, 결국 "Encrypt contents to secure data" 옵션을 해제한 후에야 설치를 시작할 수 있었습니다.

install_vssdk_without_vs.png




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 9/14/2016]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 91  92  93  94  95  96  97  98  99  100  101  102  103  104  [105]  ...
NoWriterDateCnt.TitleFile(s)
11334정성태10/18/201720691디버깅 기술: 105. windbg - k 명령어와 !clrstack을 조합한 호출 스택을 얻는 방법
11333정성태10/17/201720041오류 유형: 422. 윈도우 업데이트 - Code 9C48 Windows update encountered an unknown error.
11332정성태10/17/201720793디버깅 기술: 104. .NET Profiler + 디버거 연결 + .NET Exceptions = cpu high
11331정성태10/16/201718845디버깅 기술: 103. windbg - .NET 4.0 이상의 환경에서 모든 DLL에 대한 심벌 파일을 로드하는 파이썬 스크립트
11330정성태10/16/201717971디버깅 기술: 102. windbg - .NET 4.0 이상의 환경에서 DLL의 심벌 파일 로드 방법 [1]
11329정성태10/15/201722722.NET Framework: 693. C# - 오피스 엑셀 97-2003 .xls 파일에 대해 32비트/64비트 상관없이 접근 방법파일 다운로드1
11328정성태10/15/201725785.NET Framework: 692. C# - 하나의 바이너리로 환경에 맞게 32비트/64비트 EXE를 실행하는 방법파일 다운로드1
11327정성태10/15/201719479.NET Framework: 691. AssemblyName을 .csproj에서 바꾼 경우 빌드 오류 발생하는 문제파일 다운로드1
11326정성태10/15/201719577.NET Framework: 690. coreclr 소스코드로 알아보는 .NET 4.0의 모듈 로딩 함수 [1]
11325정성태10/14/201720336.NET Framework: 689. CLR 4.0 환경에서 DLL 모듈의 로드 주소(Base address) 알아내는 방법
11324정성태10/13/201721806디버깅 기술: 101. windbg - "*** WARNING: Unable to verify checksum for" 경고 없애는 방법
11322정성태10/13/201719810디버깅 기술: 100. windbg - .NET 4.0 응용 프로그램의 Main 메서드에 Breakpoint 걸기
11321정성태10/11/201721247.NET Framework: 688. NGen 모듈과 .NET Profiler
11320정성태10/11/201722104.NET Framework: 687. COR_PRF_USE_PROFILE_IMAGES 옵션과 NGen의 "profiler-enhanced images" [1]
11319정성태10/11/201729746.NET Framework: 686. C# - string 배열을 담은 구조체를 직렬화하는 방법
11318정성태10/7/201722016VS.NET IDE: 122. 비주얼 스튜디오에서 관리자 권한을 요구하는 C# 콘솔 프로그램 제작 [1]
11317정성태10/4/201727506VC++: 120. std::copy 등의 함수 사용 시 _SCL_SECURE_NO_WARNINGS 에러 발생
11316정성태9/30/201724965디버깅 기술: 99. (닷넷) 프로세스(EXE)에 디버거가 연결되어 있는지 아는 방법 [4]
11315정성태9/29/201741410기타: 68. "시작하세요! C# 6.0 프로그래밍: 기본 문법부터 실전 예제까지" 구매하신 분들을 위한 C# 7.0/7.1 추가 문법 PDF [8]
11314정성태9/28/201723162디버깅 기술: 98. windbg - 덤프 파일로부터 닷넷 버전 확인하는 방법
11313정성태9/25/201720822디버깅 기술: 97. windbg - 메모리 덤프로부터 DateTime 형식의 값을 알아내는 방법파일 다운로드1
11312정성태9/25/201724162.NET Framework: 685. C# - 구조체(값 형식)의 필드를 리플렉션을 이용해 값을 바꾸는 방법파일 다운로드1
11311정성태9/20/201717445.NET Framework: 684. System.Diagnostics.Process 객체의 명시적인 해제 권장
11310정성태9/19/201721876.NET Framework: 683. WPF의 Window 객체를 생성했는데 GC 수집 대상이 안 되는 이유 [3]
11309정성태9/13/201719294개발 환경 구성: 335. Octave의 명령 창에서 실행한 결과를 복사하는 방법
11308정성태9/13/201721006VS.NET IDE: 121. 비주얼 스튜디오에서 일부 텍스트 파일을 무조건 메모장으로만 여는 문제파일 다운로드1
... 91  92  93  94  95  96  97  98  99  100  101  102  103  104  [105]  ...