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

저 같은 경우에. VS.NET 2005와 SQL 2005에 관심이 많아서 제가 직접 쓰는 컴퓨터와 집에 있는 웹 서버를 틈틈이 업그레이드된 베타가 나올 때마다 설치를 해보고 있습니다.

물론, ^^; 그렇다고 해서 해당 제품들과 관계된 공부를 많이 하는 것은 아니지만... 그래도 베타를 쓰면서 먼저 익숙해진다는 것에 의의를 두고 그렇게 해보는데요.

아직 베타 버전이다 보니 설치/제거가 다소 미숙한 부분도 있습니다. 더군다나, VS.NET 2005와 SQL Server 2005에서 쓰이는 .NET Framework 2.0 자체도 베타 버전인데다 2가지 제품에서 서로 다른 빌드의 .NET 2.0을 쓰는 관계로 설치/제거 작업이 더더욱 어려운 상황인데요.

암튼... 저 같은 경우, 기존 베타를 제거하고 새로운 베타를 설치할 때 다음과 같은 오류를 종종 만나곤 합니다.


SQL 2005 베타에서는, 기존 베타 버전이 완전히 제거되지 않은 경우,
"The follwing compnents that you chose to install are already installed on the machine. To view a report of available options and alternatives click on Details" 위의 메시지가 나오면서 새로 나온 베타의 기능 중에서 위의 메시지와 함께 나열되지 않은 제품들만 설치되게 됩니다. 설치 전에, 기존 베타 버전의 유무를 판단해 주기 때문에 설치 중간에 오류가 나는 경우는 거의 없습니다.

반면에, VS.NET 2005 베타 제품 설치 시에는 사정이 좀 다릅니다. 거의 대부분 설치 오류가 중간에 발생하죠. ^^; 부가적으로, 짜증까지 나게 되는데요. 다음의 오류를 예로 들면 좋을 것 같습니다.

***EndOfSession*** [03/04/05,10:01:23] Microsoft .NET Framework 2.0 Beta 2: [2] Error code 1638 for this component means "Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.
참고로, 위의 내용은 설치 도중 에러가 났을 때 설치 화면에서 제공되는 "View Error Log" 링크를 통해서 본 내용인데, 제가 권해드리고 싶은 것은 해당 로그 파일과 동일한 폴더에 있는 다른 에러 로그 파일들을 꼭 살펴보시라는 점입니다. 왜냐면, 실제로 위의 로그에서는 .NET 2.0의 다른 버전이 설치되었다는 보고인데, 실제로 좀 더 상세한 로그 파일을 살펴보면,

[03/04/05,11:48:02] Microsoft Visual J# .NET Redistributable Package 2.0 Beta: [2] Error code 1638 for this component means "Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel. "
[03/04/05,11:48:03] Microsoft Visual J# .NET Redistributable Package 2.0 Beta: [2] Setup Failed on component Microsoft Visual J# .NET Redistributable Package 2.0 Beta ***EndOfSession***

위와 같은 정보를 얻을 수 있었습니다. 저 같은 경우에는 J# Runtime 2.0이 설치되어 있었다는 것이죠.


어쨌든, 위의 2가지 경우에서처럼... 기존에 설치된 베타 버전으로 인해 새로운 베타 버전이 정상적으로 설치가 안되는 경우가 있는데요. 이런 경우, "프로그램 추가/삭제"에서 해당 제품을 제거해 주시면 좋겠지만, 문제는 ... 베타 버전의 설치/제거 쪽이 완벽하지 않아서 프로그램 추가/삭제에는 없는 경우도 있다는 것입니다.

그럼... 어떻게 해결해야 할까요? ^^

VS.NET 2003/2005에서 MSI 프로젝트 파일을 다뤄보신 분은 아시겠지만, 설치 조건(condition)을 지정하는 방법으로 특정 레지스트리 노드로 판단하는 것을 아실 것입니다. 음.... 대답이 너무 간단한가요?

그렇다고 해서 어떤 값인지는 msi 파일을 분석하면 알 수 있겠지만... 제가 택한 방법은 그냥 레지스트리에서 관련 항목을 찾아서 모두 삭제하는 것이었습니다.
다음 화면에서 보시는 것처럼.

클릭하시면 큰 그림으로 보실 수 있습니다.

어떤 키값으로 검색해야 할지는 ... ^^ 개인의 감각에 맡기겠습니다.






[최초 등록일: ]
[최종 수정일: 7/10/2021]

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

비밀번호

댓글 작성자
 



2005-03-04 03시45분
참고로, Install 관련 Product 관련 레지스트리 키를 삭제하면 되는 것도 있고... 그렇지 않고 Software 쪽 레지스트리 키를 지워야 되는 경우도 있습니다.
techsharer

... 106  107  108  109  110  111  112  113  114  115  [116]  117  118  119  120  ...
NoWriterDateCnt.TitleFile(s)
11058정성태10/8/201623988개발 환경 구성: 303. Windows 10 Bash Shell - 한글 환경을 영문으로 바꾸고 싶다면?
11057정성태10/8/201618499오류 유형: 358. Windows 10 bash shell - sudo: unable to resolve host ...
11056정성태10/8/201622309개발 환경 구성: 302. Windows 10 bash shell 시작 시 [...] packages can be updated.
11055정성태10/8/201623312.NET Framework: 608. double 값을 구할 때는 반드시 피연산자를 double로 형변환! [6]
11054정성태10/5/201627316개발 환경 구성: 301. "Let's Encrypt" SSL 인증서를 Azure Cloud Services(classic)에 업데이트하는 방법
11053정성태10/5/201621976.NET Framework: 607. C# try/catch/finally의 IL 코드 표현
11052정성태9/27/201635912개발 환경 구성: 300. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 [7]파일 다운로드1
11051정성태9/25/201623067개발 환경 구성: 299. docker - c:\programdata\docker\windowsfilter 폴더 정리하는 방법파일 다운로드1
11050정성태9/24/201627845VC++: 101. 반올림하지 않고 double 변수 값 출력하는 방법 [3]
11049정성태9/24/201622294오류 유형: 357. 윈도우 백업 시 오류 - 0x81000037
11048정성태9/24/201623356VC++: 100. 전역 변수 유형별 실행 파일 크기 차이점
11047정성태9/21/201627260기타: 61. algospot.com - 양자화(Quantization) 문제 [2]파일 다운로드1
11046정성태9/15/201628957개발 환경 구성: 298. Windows 10 - bash 실행 시 시작 디렉터리 자동 변경
11045정성태9/15/201621596Windows: 119. Windows 10 - bash 명령어 창을 실행했는데 바로 닫히는 경우
11044정성태9/15/201621834VS.NET IDE: 112. Visual Studio 확장 - 편집 화면 내에서 링크를 누르면 외부 웹 브라우저에서 열기
11043정성태9/15/201622546.NET Framework: 606. .NET 스레드 콜 스택 덤프 (7) - ClrMD(Microsoft.Diagnostics.Runtime)를 이용한 방법 [1]파일 다운로드1
11042정성태9/14/201620634오류 유형: 356. Unknown custom metadata item kind: 6
11041정성태9/10/201620736.NET Framework: 605. CLR4 보안 - yield 구문 내에서 SecurityCritical 메서드 사용 불가 - 2번째 이야기
11040정성태9/10/201628210.NET Framework: 604. C# Windows Forms - Drag & Drop 예제 코드 [2]파일 다운로드1
11039정성태9/9/201624035오류 유형: 355. Visual Studio 빌드 오류 - error CS0122: '__ComObject' is inaccessible due to its protection level
11038정성태9/9/201626675VC++: 99. 서로 다른 프로세스에서 WM_DROPFILES 메시지를 전송하는 방법파일 다운로드1
11037정성태9/8/201629834.NET Framework: 603. socket - shutdown 호출이 필요한 사례파일 다운로드1
11036정성태8/29/201625677개발 환경 구성: 297. 소스 코드가 없는 닷넷 어셈블리를 디버깅할 때 지역 변숫값을 확인하는 방법
11035정성태8/29/201621566오류 유형: 354. .NET Reflector - PDB 생성 화면에서 "Clear Store"를 하면 "Index and length must refer to a location within the string" 예외 발생
11034정성태8/25/201625547개발 환경 구성: 296. .NET Core 프로젝트를 NuGet Gallery에 배포하는 방법 [2]
11033정성태8/24/201623478오류 유형: 353. coreclr 빌드 시 error C3249: illegal statement or sub-expression for 'constexpr' function
... 106  107  108  109  110  111  112  113  114  115  [116]  117  118  119  120  ...