티스토리 뷰


정말로 이런거 쓰기 싫었는데...
당췌 뭐하나 제대로 돌아가는게 없어서 한놈 잡아서 씹어야 겠습니다.

CASIFvbCodec.dll
이게 뭐시냐 하면...저희 같은 모바일 컨텐츠를 판매하는 사이트에서
엘지텔레콤과 서버간 통신을 할 때 사용하는 모듈이 되겠습니다.
당연히, LGT측에서 제공을 하는 것이고요.

몇달전 자이니즈 형님들이 저희 회사 서버에 방문한 뒤로는 서버 상태가 날로 악화 되서
결국은 서버 교체 작업에 들어 갔습니다.
새 서버 머신에 윈도우 2003 서버도 새로 설치하고, 웹서버 등등등도 새로 설치하고...

그런데 유독 저 DLL 파일 하나만 등록이 안되는 겁니다.
도대체 뭐냐? 게시판엔 답변도 없고...

지금은 22:10
당연히 고귀하신 LGT 직원님들은 퇴근 하셨고...
난 40시간여 잠도 못자고 있고...

하는수 없이 또 혼자서 답을 찾아야 합니다.
설사 낮에 담당자를 찾아서 통화를 한다고 하더라도
"저희는 잘 되는데요. 다시 해보십시요"라는 답은 직감적으로 알 수있고...

Dependency Walker 라는 프로그램이 있습니다.
저처럼 어떤 DLL 파일을 사용해야 하는데 필요한 정보가 부족할 경우,
여기에 관련된(의존성 있는) DLL 파일들이 뭐가 있는지 알려주는 프로그램입니다.

결과는;

ADVAPI32.DLL, GDI32.DLL, KERNEL32.DLL, MSVCP71.DLL, MSVCR71.DLL, MSVCRT.DLL, NTDLL.DLL,
OLE32.DLL, OLEAUT32.DLL, RPCRT4.DLL, SECUR32.DLL, SHELL32.DLL, SHLWAPI.DLL, USER32.DLL

이렇게 14개 라리브러리에 의존성이 있습니다.
하나하나 윈도우 XP와 2003 서버와 비교를 해봅니다.
위에 붉은 글씨로 강조해 놓은 것이 2003 서버에는 없습니다.
여기에는 안나왔지만, VisualBasic 라이브러리인 VB6KO.DLL 도 필요합니다.

이제 위 msvcp71.dll, msvcr71.dll 두개의 파일을 복사해서
2003 서버의 C:\windows\system32 폴더에 넣습니다.
(전 다행스럽게도 Visual Studio라는 개발용 툴이 설치 되어 있어서 해당 DLL 파일들을 쉽게 구했습니다.
그럼 다른 사람들은 어디에 가서 찾아야 하나요? 구글신에게 물어봐서 다운 받는게 정답일까요?)


그리고, CASIFvbCodec.dll을 다시 등록 시도
C:\>regsvr32.exe CASIFvbCodec.dll

잘 됩니다.

문제 1.

LGT 직원이 개발을 했건, 외주를 줘서 개발을 했건 해당 프로그램을 배포 할 때는 호환성에 신경을 써서 필요한
라이브러리를 함께 배포해야 합니다. 개발자의 기본 마인드 아니겠습니까?
개발자의 컴에서만 잘 작동하고 남의 컴에서는 작동하지 않는 프로그램은 쓰레기입니다.
프로그램이 간편하고 쓰기 쉽고를 떠나서 작동을 해야 사용을 하지요!

문제 2.

개발을 할 때는 어느 정도는 하위 호환성을 고려해야 합니다.
서버간 통신을 위해 암호화 하는 DLL을 윈도우 2008 서버에서만 작동한다면요???
2003 서버 버전을 사용하는 사람들은 쓰지말라구요?
왜 이렇게 생각이 없습니까.
개발자 자신은 2008 서버 버전을 쓰니까, 소비자도 거기에 따라야 한다고요? 쌈싸먹어~!


제가 프로그램을 직업으로 갖게된 이유도 여기에 있습니다.
작게는 1-2만원에서 수십만원, 수백만원씩 하는 프로그램이, 자꾸만 에러를 냅니다.
"난 비싼 컴퓨터를 사고, 정식으로 소프트웨어를 구입해서 사용하는데, 왜? 평상시 처럼 사용하다가도 에러가 나냐고?!"

기능이 좀 부족하면 어떻습니까?
화면이 화려하지 않으면 좀 어떻습니까?
내가 필요로 하는 기능들만 모아서 작고 가볍게, 에러 없는 프로그램을 만들어 보고 싶었습니다.
물론 위에 써 놓은 문제점들은 고려 해야지요.
누구나 어디에서든지, 어떤 환경에서든지 자신이 원하는 결과를 볼 수 있는 소프트웨어를 말이지요.

하지만, 세파에 찌들고, 직급이 상승하고, 다른 사람들과 만나면서 자꾸만 타락해지고 있습니다.

난, 정말로 좋은 소프트웨어를 만들고 싶다구요!



댓글