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

... 46  47  48  49  50  [51]  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
12699정성태7/8/202117417VS.NET IDE: 167. Visual Studio 디버깅 중 GC Heap 상태를 보여주는 "Show Diagnostic Tools" 메뉴 사용법
12698정성태7/7/202121499오류 유형: 732. Windows 11 업데이트 시 3% 또는 0%에서 다운로드가 멈춘 경우
12697정성태7/7/202116095개발 환경 구성: 574. Windows 11 (Insider Preview) 설치하는 방법
12696정성태7/6/202117460VC++: 146. 운영체제의 스레드 문맥 교환(Context Switch)을 유사하게 구현하는 방법파일 다운로드2
12695정성태7/3/202117658VC++: 145. C 언어의 setjmp/longjmp 기능을 Thread Context를 이용해 유사하게 구현하는 방법파일 다운로드1
12694정성태7/2/202119285Java: 24. Azure - Spring Boot 앱을 Java SE(Embedded Web Server)로 호스팅 시 로그 파일 남기는 방법 [1]
12693정성태6/30/202116282오류 유형: 731. Azure Web App Site Extension - Failed to install web app extension [...]. {1}
12692정성태6/30/202116903디버깅 기술: 180. Azure - Web App의 비정상 종료 시 남겨지는 로그 확인
12691정성태6/30/202116834개발 환경 구성: 573. 테스트 용도이지만 테스트에 적합하지 않은 Azure D1 공유(shared) 요금제
12690정성태6/28/202117699Java: 23. Azure - 자바(Java)로 만드는 Web App Service - Tomcat 호스팅
12689정성태6/25/202120103오류 유형: 730. Windows Forms 디자이너 - The class Form1 can be designed, but is not the first class in the file. [1]
12688정성태6/24/202119377.NET Framework: 1073. C# - JSON 역/직렬화 시 리플렉션 손실을 없애는 JsonSrcGen [2]파일 다운로드1
12687정성태6/22/202116521오류 유형: 729. Invalid data: Invalid artifact, java se app service only supports .jar artifact
12686정성태6/21/202117840Java: 22. Azure - 자바(Java)로 만드는 Web App Service - Java SE (Embedded Web Server) 호스팅
12685정성태6/21/202119888Java: 21. Azure Web App Service에 배포된 Java 프로세스의 메모리 및 힙(Heap) 덤프 뜨는 방법
12684정성태6/19/202118141오류 유형: 728. Visual Studio 2022부터 DTE.get_Properties 속성 접근 시 System.MissingMethodException 예외 발생
12683정성태6/18/202118849VS.NET IDE: 166. Visual Studio 2022 - Windows Forms 프로젝트의 x86 DLL 컨트롤이 Designer에서 오류가 발생하는 문제 [1]파일 다운로드1
12682정성태6/18/202115326VS.NET IDE: 165. Visual Studio 2022를 위한 Extension 마이그레이션
12681정성태6/18/202116211오류 유형: 727. .NET 2.0 ~ 3.5 + x64 환경에서 System.EnterpriseServices 참조 시 CS8012 경고
12680정성태6/18/202118242오류 유형: 726. python2.7.exe 실행 시 0xc000007b 오류
12679정성태6/18/202117912COM 개체 관련: 23. CoInitializeSecurity의 전역 설정을 재정의하는 CoSetProxyBlanket 함수 사용법파일 다운로드1
12678정성태6/17/202116163.NET Framework: 1072. C# - CoCreateInstance 관련 Inteop 오류 정리파일 다운로드1
12677정성태6/17/202119731VC++: 144. 역공학을 통한 lxssmanager.dll의 ILxssSession 사용법 분석파일 다운로드1
12676정성태6/16/202118544VC++: 143. ionescu007/lxss github repo에 공개된 lxssmanager.dll의 CLSID_LxssUserSession/IID_ILxssSession 사용법파일 다운로드1
12675정성태6/16/202116793Java: 20. maven package 명령어 결과물로 (war가 아닌) jar 생성 방법
12674정성태6/15/202117747VC++: 142. DEFINE_GUID 사용법
... 46  47  48  49  50  [51]  52  53  54  55  56  57  58  59  60  ...