프로그램 설치/삭제 과정에서 문제가 발생할 때

msiinv.exe라는 도구는 윈도우에 설치된 어플리케이션 정보를 제공한다. MSI APIs를 사용해서 Windows Installer가 설치되었다고 생각하는 제품의 정보를 제공한다.

[제어판-프로그램 추가/제거] 메뉴가 있는데 왜 msiinv.exe를 사용해야 할까? 어플리케이션을 설치하거나 제거하다보면 문제가 발생하기도 한다. SQL Server 2005 Express Edition의 경우를 살펴보자. Uninstalling Express Editions에 따르면 다음 순서대로 삭제해야 한다.

  1. Go to the Control Panel and launch Add/Remove Programs

  2. Remove "Microsoft SQL Server 2005 Express Edition"

  3. Remove "Microsoft SQL Server 2005 Tools Express Edition"

  4. Remove "Microsoft SQL Native Client"

정해진 순서대로 삭제하지 않으면 [제어판-프로그램 추가/제거] 메뉴에 SQL Server 2005 Exress가 보이지 않는데도, 서버 인스턴스는 남아 있는 경우가 발생한다. 이때 msiinv.exe를 실행시키면, SQL Server 2005 Exress의 정보를 볼 수 있다. 이 정보를 사용하면 수작업으로 프로그램 제거가 가능하다.

명령창에서 msiinv.exe > c:\output.txt을 치면, output.txt 파일에 다음과 같은 출력 결과가 저장된다.

msiinv.exe  2006\05\20  01:02:23

Microsoft Calculator Plus
	Product code:	{83073C45-3003-4671-9A86-243AAADD915A}
	Product state:	(5) Installed.
	Package code:	{6C24B8A3-52E2-4640-83B5-050F3CB47467}
	Version:	1.0.0
	AssignmentType:	0
	Publisher:	Microsoft
	Language:	1033
	Installed from: F:\Softwares\Utility\Microsoft Calculator Plus 1.0\
	    Package:	CalcPlus.msi
	Product Icon:	%APPDATA%\Microsoft\Installer\{83073C45-3003-4671-9A86-243AAADD915A}\_294823.exe
	Local package:	C:\WINDOWS\Installer\7c3dfb.msi
	Install date:	2006\03\19

	1 feature.
		0 features are not used.
		0 features are advertised.
		0 features are absent.
		1 feature installed to run local.
		0 features installed to run from source.
		0 features installed for default.
		0 features in some other state.
	4 components.
		0 qualified.
		0 permanent.
		0 shared.
	0 patch packages.

출력 결과 중에서 Product code를 볼 수 있다. 명령창에서 msiexec /x {product code}라는 명령어를 실행시키면 [프로그램 추가/제어]가 아니라도 어플리케이션을 삭제할 수가 있다.

이렇게 해도 문제가 발생할 수 있다. 이전 설치 과정에서 기록된 정보가 남아 있을 수 있다. 경우에 따라서는 재설치나 상위 버전의 설치가 안 될 수 있다. 이때 유용한 유틸리티가 Msizap.exe이다. 이것은 해당 제품의 Windows Installer 정보를 모두 삭제한다.

참고 자료

P.S. Windows Installer와 관련된 문제에 대해서는 아직 확실하게 안다고 자신할 수 있는 수준이 아니다. 앞서 소개한 두 가지 방법만으로도 해결 안 되는 경우도 분명히 있을 것이다.

최 재훈

블로그, 페이스북, 트위터 고성능 서버 엔진, 데이터베이스, 지속적인 통합 등 다양한 주제에 관심이 많다.
Close Menu