Visual Studio Setup Project에서 코드추가없이 Uninstall 기능 추가하기

정말 오랫동안 이 기능때문에 불편을 겪어왔었는데, 완벽하고 쉬운 해결방법을 발견하게 돼서 공개한다. 😎

이 방법은 Visual Studio 2005와 2008에서 가능하다.

  1. 설치 및 배포 프로젝트의 파일 시스템 화면으로 이동하고, 대상 컴퓨터의 파일 시스템에서 마우스 오른쪽 버튼을 클릭해서 시스템 폴더를 특수폴더로 추가한다.
  2. 추가한 시스템 폴더를 클릭하고 자신의 컴퓨터에서 msiexec.exe 파일을 찾아서 추가한다. 이 파일은 컴퓨터에서 윈도우가 설치된 폴더하부의 System32 폴더에서 찾을 수 있다. (예, C:WindowsSystem32msiexec.exe)
  3. 추가한 msiexec.exe 파일을 선택하고 속성을 다음과 같이 변경한다.
    Condition : Not Installed (대소문자까지 확실하게 구분해서 입력한다.)
    Permanent : True
    System : True
    Vital : False
  4. 사용자 프로그램 메뉴에 바로가기를 하나 추가하고 대상 파일을 위에서 추가한 msiexec.exe 파일로 지정한다. 추가한 바로가기 이름은 ‘Uninstall Application’ 처럼 변경하도록 하자. 그리고, 추가한 바로가기의 Arguments 속성에 ‘/x {ProductCode}’ 를 입력한다.
  5. 프로젝트를 빌드한다. 그러면 msiexec가 보호되므로 제외해야 한다고 나오지만 그냥 무시하도록 한다. 위에서 msiexec.exe 파일에 설정한 속성중에 ‘Not Installed’ Condition과 Permananet 속성을 True로 설정했으므로 msiexec.exe 파일은 시스템 폴더에 존재하지 않을 경우에만 설치되게 되고, 제거시에도 제거되지 않는다.

그동안 어렵게 만들어 왔었던 Uninstall 기능을 이제 매우 편하게 만들 수 있을듯 하다. 😉

zemna

Programmer/Web/Mobile/Desktop

You may also like...

2 Responses

  1. Asdfad says:

    good information

  2. kim says:

    사용자 프로그램 메뉴에 바로가기를 하나 추가하고 대상 파일을 위에서 추가한 msiexec.exe 파일로 지정한다
    이게 어떤건지 모르겠어요

Leave a Reply

%d bloggers like this: