윈도우의 대부분 프로그램들은 자체 설치파일을 통해서 설치하도록 하고 있지만, 윈도우에 내장된 프로그램들의 경우에는 .INF 파일을 통해서 설치합니다. 그래서 불필요한 경우 삭제하려 해도 삭제하지 못하거나 번거로울 때가 있습니다.
그러나 이런 경우에도 삭제하는 방법이 있습니다.
.INF 파일을 통하여 설치되는 대부분의 프로그램들은 자체적인 삭제 정보도 가지고 있습니다.
윈도우 XP에 내장된 메신저 프로그램을 예로 들어 보겠습니다.
C:\Windows\INF\msmsgs.inf 파일을 열어서 아래와 같은 부분을 찾으십시오.
[msmsgs] OptionDesc = %MSMSGSXP_NAME% Tip = %MSGR_OPTION_TIP% Uninstall = BLC.Remove InstallType = 10 ; Typical, Custom IconIndex = 99 Modes = 0,1,2,3 CopyFiles = BLC.Install.App,BLC.Install.Shared,BLC.Install.SIPSP ProfileItems = BLC.AllUsers.Delete.OldBrand, BLC.AllUsers.Delete, BLC.HideIcons.Delete DelFiles = BLC.CleanPrev.App DelReg = BLC.CleanPrev.Reg,BLC.CleanPrev.Reg.PerUser, HideIcons.Remove.Reg.PerUser AddReg = BLC.Option.MarkInstalled,BLC.Install.Reg,BLC.Install.Reg.Brand,BLC.Install.Reg.ShowHideEntries,SIPSPInstall.Reg RegisterDlls = RegisterOCXSection SizeApproximation = 2110000
CopyFiles, AddReg, RegisterDlls 부분은 설치시 참조되는 부분이고, Uninstall 부분이 바로 프로그램을 삭제시 참조되는 부분입니다. 메신저 프로그램은 삭제시 BLC.Remove를 실행하는군요.
BLC.Remove는 그 밑에 적혀있으나 몰라도 됩니다. 필요한 것은 이 부분을 실행한다는 것입니다.
이제 [시작 -> 프로그램 -> 보조프로그램 -> 명령 프롬프트]를 열고, 아래와 같이 입력하고 실행하세요.
아래를 실행하는 것으로 내장 메신저는 디스크와 레지스트리에서 완전히 삭제됩니다.
C:\> RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection BLC.Remove 132 C:\Windows\INF\msmsgs.inf
이제 자세한 옵션을 살펴보겠습니다.
설치/삭제시 명령 형식은 아래와 같습니다.
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection
section은 .INF 파일에서 실행할 섹션 이름을 적어줍니다. 위 예의 경우, BLC.Remove가 되겠죠.
mode는 실행 옵션입니다. 이 값으로 보통 132를 적어주면 됩니다. 자세한 값은 아래와 같습니다.
0 시스템 제공 INF (의미 없음)
128 기본 설정 사용, 전체 경로가 주어지지 않을 경우 디폴트 경로를 참조한다
+0 어떠한 경우에도 시스템을 리부팅 하지 않는다
+1 무조건 시스템을 리부팅한다
+2 항상 리부팅 여부를 사용자에게 물어본다
+3 필요할 경우, 사용자에게 물어보지 않고 자동으로 시스템을 리부팅한다
+4 필요할 경우, 사용자에게 시스템 리부팅 여부를 물어본다
path는 .INF 파일의 전체 경로입니다. 위의 예에서는 C:\Windows\INF\msmsgs.inf 입니다.