본문 바로가기
Programming

VC6와 Windows XP SP2 Platform SDK

by BITINITIALIZE 2007. 4. 24.
728x90

그저께 위젯을 공개한 후 여러 블로거님들께서 친히 메일을 주셨는데 클린 앤 클리어의 기능이 심히 부족하다는 것이다. 특히 무엇보다 웹사이트 방문기록은 없앨 수 있어야 한다는 것인데..이 의견에는 절대적으로 동감한다.

유저분들의 개선요청에 따라서 윈도우가 관리하는 있는 최근 사용기록(히스토리)과 관련하여 기능을 구현하던 중 다음과 같은 에러를 만났다.

 fatal error LNK1103: debugging information corrupt; recompile module Error executing link.exe.

어라 이게 뭘까..구글을 통해서 XP SP2 SDK와 VC++6가 맞지않아 발생(라이브러리 관련)하는 문제라는 것을 알았다.

뭐 사실 VC++6는 구시대의 유물이라고 2003 이상으로 사용해야 한다고 하시는 분도 있다. 나 역시 동감하고 6.0, 2003, 2005 모두를 사용하고 있긴 하지만 지금까지 VC++ 6를 사용하면서 불편했던 점은 클래스위저드의 버그(클래스 또는 멤버함수가 사라짐)말고는 없었다.

물론 VC++ 6에 길들여져 있기도 하고 이미 과거에 끊겨버린 서비스팩과 최신 애드온으로 무장해주면 아직까진 매우 쓸만한 제품이다.

어찌됐든 이런 에러까지 맞닥뜨리니 순간 2003으로 변환할까를 생각했지만 다음과 같은 해결(물론 임시적인) 방법을 찾고는 이를 실행해보았다.

(중략)...이와 같은 에러는 lib폴더의 uuid.lib의 파일명을 바꾸어주면 된다.

과연 그럴까...물론 위와 같은 방법으로 나의 문제는 해결되지 않았다.  그런데 이미 다수의 블로그에서 똑같은 방법을 설명하고 있었다..ㅡㅡ;
아 정말 이사람들은 한번이라도 해본걸까...문득 묻지마 출처밝히지마 등의 펌블로그의 폐해를 심각하게 느꼈다.

나의 경우 SDK를 다시 설치하는 것(다른 버전)으로 문제는 해결되었으나 윈도우의 히스토리 기능은 만만하지 않았다...




Windows History 넌 누구니?

사용자 삽입 이미지























요 History란 녀석은 체계별로 사용자의 시스템 탐색 내용과 더불어 웹사이트 탐색 내용까지 자동으로 날짜까지 매겨서 분류하는 녀석이다.

일반적으로 알려진 것과 같이 Local Settings라고 하는 곳에 위치하며 자신만의 고유하고 고상한 index.dat라는 넘을 사용해서 데이터를 보관해둔다.

아아 그래 좋아. index.dat란 녀석이 시스템 및 숨김 파일 보기 스킬에 깨진 이상 난 일단 Local Settings 하위 폴더만 분석해서 웹사이트 사용기록을 없애려고 시도해보았으나 이게 웬일...윈도우 녀석이 Local Settings의 History를 시스템폴더에도 짱박아두고 있었다..ㅡㅡ;

그래서 난 문제를 종합해보았다.

1. History 아래 History.IE5란 방에서 index.dat라는 대장 녀석이 존재하며
2. MSHist01xxxxxxxxxxxxxxxx란 폴더 이름으로 또 다시 index.dat라는 녀석이 존재하고
3. 그걸 또 시스템 폴더에도 하나 짱박아 둔다.

왜 그걸 짱박아두는 알길은 없지만(미러링하냐..ㅡㅡ;) 어찌되었든 단순 파일 삭제로는 무식해보인다. 한창 MSDN을 뒤적거리다가 CLSID_CUrlHistory에 대한 정보를 찾았다. 게임은 끝난것이다.

그래서 코딩을 하던 중에 위와 같은 에러를 만난 것인데 구현 후 많은 테스트를 해보았는데 매우 잘 동작해서 기쁘다.ㅎㅎ

사용자 삽입 이미지


















기능이 수정된 업데이트 패치는 윈도우 트윅에 기능 몇가지를 추가하고 공개할 예정입니다.

728x90

댓글