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)
11149정성태2/21/201723007오류 유형: 378. A 64-bit test cannot run in a 32-bit process. Specify platform as X64 to force test run in X64 mode on X64 machine.
11148정성태2/20/201721959.NET Framework: 644. AppDomain에 대한 단위 테스트 시 알아야 할 사항
11147정성태2/19/201721199오류 유형: 377. Windows 10에서 Fake 어셈블리를 생성하는 경우 빌드 시 The type or namespace name '...' does not exist in the namespace 컴파일 오류 발생
11146정성태2/19/201719846오류 유형: 376. Error VSP1033: The file '...' does not contain a recognized executable image. [2]
11145정성태2/16/201721328.NET Framework: 643. 작업자 프로세스(w3wp.exe)가 재시작되는 시점을 알 수 있는 방법 - 두 번째 이야기 [4]파일 다운로드1
11144정성태2/6/201724662.NET Framework: 642. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (부록 1) - CallingConvention.StdCall, CallingConvention.Cdecl에 상관없이 왜 호출이 잘 될까요?파일 다운로드1
11143정성태2/5/201722082.NET Framework: 641. [Out] 형식의 int * 인자를 가진 함수에 대한 P/Invoke 호출 방법파일 다운로드1
11142정성태2/5/201730069.NET Framework: 640. 닷넷 - 배열 크기의 한계 [2]파일 다운로드1
11141정성태1/31/201724356.NET Framework: 639. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (4) - CLR JIT 컴파일러의 P/Invoke 호출 규약 [1]파일 다운로드1
11140정성태1/27/201720118.NET Framework: 638. RSAParameters와 RSA파일 다운로드1
11139정성태1/22/201722793.NET Framework: 637. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (3) - x64 환경의 __fastcall과 Name mangling [1]파일 다운로드1
11138정성태1/20/201721055VS.NET IDE: 113. 프로젝트 생성 시부터 "Enable the Visual Studio hosting process" 옵션을 끄는 방법 - 두 번째 이야기 [3]
11137정성태1/20/201719779Windows: 135. AD에 참여한 컴퓨터로 RDP 연결 시 배경 화면을 못 바꾸는 정책
11136정성태1/20/201718979오류 유형: 375. Hyper-V 내에 구성한 Active Directory 환경의 시간 구성 방법 - 두 번째 이야기
11135정성태1/20/201719964Windows: 134. Windows Server 2016의 작업 표시줄에 있는 시계가 사라졌다면? [1]
11134정성태1/20/201727388.NET Framework: 636. System.Threading.Timer를 이용해 타이머 작업을 할 때 유의할 점 [5]파일 다운로드1
11133정성태1/20/201723506.NET Framework: 635. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (2) - x86 환경의 __fastcall [1]파일 다운로드1
11132정성태1/19/201734991.NET Framework: 634. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (1) - x86 환경에서의 __cdecl, __stdcall에 대한 Name mangling [1]파일 다운로드1
11131정성태1/13/201723933.NET Framework: 633. C# - IL 코드 분석을 위한 팁 [2]
11130정성태1/11/201724434.NET Framework: 632. x86 실행 환경에서 SECURITY_ATTRIBUTES 구조체를 CreateEvent에 전달할 때 예외 발생파일 다운로드1
11129정성태1/11/201728795.NET Framework: 631. async/await에 대한 "There Is No Thread" 글의 부가 설명 [9]파일 다운로드1
11128정성태1/9/201723269.NET Framework: 630. C# - Interlocked.CompareExchange 사용 예제 [3]파일 다운로드1
11127정성태1/8/201722784기타: 63. (개발자를 위한) Visual Studio의 "with MSDN" 라이선스 설명
11126정성태1/7/201727521기타: 62. Edge 웹 브라우저의 즐겨찾기(Favorites)를 편집/백업/복원하는 방법 [1]파일 다운로드1
11125정성태1/7/201724363개발 환경 구성: 310. IIS - appcmd.exe를 이용해 특정 페이지에 클라이언트 측 인증서를 제출하도록 설정하는 방법
11124정성태1/4/201727807개발 환경 구성: 309. 3년짜리 유효 기간을 제공하는 StartSSL [2]
... 106  107  108  109  110  [111]  112  113  114  115  116  117  118  119  120  ...