none
C# 에서 설치된 프로그램 목록을 가져오고 싶습니다. RRS feed

  • 질문

  • C# 으로 개발중이고 소프트웨어 설치 현황을 확인하고 싶은데

    만족할 만한 결과가 나오지 않아 문의 드립니다.

    1. 한번이라도 설치하였던 프로그램 목록 전체

    2. 설치하였다가, 삭제 한경우 삭제일자 확인

    3. 전체 목록 중 현재 제어판에 표시되는 프로그램 목록만 따로 확인

        전체 목록에서 제어판에 존재하는 프로그램 여부만 확인되어도 됩니다.

    현재 : registry 의 unistall 부분으로 조회 하였는데, 목록이 너무 많이 나오네요

    목적 : 내부 설치된 프로그램 목록을 관리하여 라이센스 관리를 하고자 하는 목적입니다.

             솔루션들은 많은데 고가이다 보니 이런 삽질(mining)을 하고 있네요.

    고수님들의 조언 부탁 드립니다.

    2017년 2월 2일 목요일 오전 1:59

답변

  • 보통 uninstall registry를 사용할것 같습니다.

    1. 비슷한 질문에 대한 답변이 있어 링크 추가할게요.

    https://social.msdn.microsoft.com/Forums/en-US/94c2f14d-c45e-4b55-9ba0-eb091bac1035/c-get-installed-programs

    http://stackoverflow.com/questions/15524161/c-how-to-get-installing-programs-exactly-like-in-control-panel-programs-and-fe

    2. registry path중 HKEY_CLASSES_ROOT\Installer\Products <-- 요기 아래에도 설치된 프로그램 목록이 나옵니다.

    3. 윈도우에서 제공하는 api를 사용하는 방법입니다. (C#은 없으려나...)

    https://msdn.microsoft.com/en-us/library/aa368279(VS.85).aspx

    2017년 2월 2일 목요일 오전 4:42