홈페이지 » 어떻게 » 일반 소프트웨어 제거가 레지스트리에서 관련된 모든 값을 제거하지 못하는 이유는 무엇입니까?

    일반 소프트웨어 제거가 레지스트리에서 관련된 모든 값을 제거하지 못하는 이유는 무엇입니까?

    프로그램을 제거 할 때, 프로그램의 모든 흔적이 시스템에서 제거 될 것이라는 "합리적"기대이지만, 그렇지 않은 경우가 종종 있습니다. 그게 왜? 오늘의 수퍼 유저 Q & A 게시물에는 호기심 많은 독자의 질문에 대한 답변이 있습니다..

    오늘의 질문 및 답변 세션은 Q & A 웹 사이트의 커뮤니티 중심 그룹 인 Stack Exchange의 하위 부문 인 수퍼 유저의 도움으로 이루어졌습니다..

    wandersick (Flickr)의 스크린 샷.

    질문

    수퍼 유저 Mark Boulder는 정상적인 소프트웨어 제거 후 일부 레지스트리 값이 항상 남아있는 이유를 알고 싶어합니다.

    수퍼 유저 주제로 확장 레지스트리에서 제거 된 소프트웨어의 잔여 흔적을 제거하려면 어떻게해야합니까? 프로그램을 제거하고 나중에 RegEdit을 통해 찾을 때마다 그 프로그램이 여전히 존재합니다?

    왜 대부분의 Windows 응용 프로그램은 레지스트리에 자신의 작은 흔적을 남기려는 의도입니까? Windows 또는 개발자와 관련된 오류입니까??

    정상적으로 소프트웨어를 제거한 후에 레지스트리 값이 일반적으로 "남겨진"이유는 무엇입니까??

    대답

    수퍼 유저 기여자 인 루카스 리거 (Lukas Rieger)와 켈 타리 (Keltari)는 우리에게 답을줍니다. 첫째로, Lukas Rieger :

    왜냐하면 불가능하기 때문입니다. 레지스트리에는 여러 루트 노드가 있지만 두 개의 흥미로운 노드 만 있습니다 : LocalMachine과 CurrentUser. 일반적으로 설치 프로그램은 값을 LocalMachine에 기록하고 실행중인 프로그램은 CurrentUser에 쓰기 만합니다 (실제로 설치 프로그램이 권한을 갖고 있지 않으면 실행중인 프로그램이 LocalMachine에 쓸 수 없습니다).

    LocalMachine에 남은 부분을 저장하는 것은 게으름이지만 (다른 답변에서 지적한 바와 같이) CurrentUser 부분을 지울 수는 없습니다.

    컴퓨터마다 프로그램이 설치되어 있고 (대부분), 여러 사용자가이 프로그램을 사용하면 제거 프로그램은 어떻게해야합니까? 현재 계정의 사용자 설정을 안전하게 제거 할 수 있지만 현재 계정은 사용자 계정이 아닐 수 있습니다. 관리자가 아닌 계정에서 제거 프로그램을 시작한 다음 관리자 계정의 자격 증명을 입력하면 설치 프로그램이 이제는 처음 계정이 아닌 해당 계정으로 실행됩니다.

    다른 사용자들은 어떻습니까? 모든 사용자를 열거 할 수는 있지만 레지스트리 키가로드되지 않을 수 있습니다 (Windows는 게으르며 필요한 항목 만로드합니다).

    그러나 당신은 그것을 시도해서는 안됩니다. 로밍 프로필 (예 : 터미널 서비스)을 사용한 다음 제거시 모든 설정을 삭제하면 실제로 사용중인 물건을 엉망으로 만들고 삭제할 수 있습니다. 터미널 서버는 기본적으로 여러 사용자가 동시에 로그인하여 응용 프로그램을 사용하는 하나의 Windows 컴퓨터입니다. 하나의 응용 프로그램을 실행하는 두 개의 터미널 서버가 있다고 가정 해보십시오. TS1에서 응용 프로그램을 제거하면 로밍 프로파일이 있기 때문에 TS2에서 모든 사용자에 대한 모든 설정이 사라집니다. 죄송합니다..

    이는 사용자 별 디렉토리에있는 파일에도 적용됩니다. 우리 회사의 프로그램을 설치하는 과정에서 기계마다 물건을 지우지 만 사용자 별 물건을 만지지 마십시오. 현재 설정을 실행중인 사용자조차 만지지 않습니다..

    Keltari의 답이 뒤따 랐습니다.

    이 경우에는 여러 가지 이유가 있지만 Microsoft 또는 Windows 운영 체제의 잘못이 아닙니다..

    다음은 레지스트리 항목이 남아있는 몇 가지 이유 및 이유 목록입니다.

    나쁜 프로그래밍 - 개발자가 응용 프로그램 제거 프로그램을 제대로 작성하지 않았으며 레지스트리 항목이 남아 있습니다. 그 외에도 제거 프로그램은 레지스트리 항목을 제거하기위한 적절한 권한을 가지고 있지 않을 수도 있습니다. 또한 이러한 키를 사용하는 응용 프로그램이 두 개 이상있을 수 있습니다. 예를 들어 동일한 개발자가 개발 한 두 개의 응용 프로그램이 동일한 키에 기록됩니다..

    왼쪽에 목적 - 언급 된 한 의견은 이러한 항목이 의도적으로 남을 수 있음을 나타냅니다. 일부 응용 프로그램에는 평가판 기간이 있으며 그 기간이 지나면 해당 응용 프로그램을 제거 할 수 있습니다. 나중에 응용 프로그램을 다시 설치하도록 선택하면 해당 키는 응용 프로그램 정보를 설치 시점에 제공합니다. 그 외에도 일부 개발자는 응용 프로그램을 다시 설치하도록 선택할 때를 대비하여 해당 키를 남겨 둘 수 있습니다. 개발자가 레지스트리 키를 사용하여 사용자 지정 내용을 저장하면 응용 프로그램을 다시 설치할 때 모든 사용자 지정 내용이 유지되도록 사용자 지정 내용을 그대로 둘 수 있습니다. 사물의 웅장한 계획에서 레지스트리 키는 단지 몇 바이트 만 차지합니다..

    열쇠를 제거해야합니까? 조건에 따라서. Windows 레지스트리는 위험한 곳입니다. 실수로 시스템을 손상시킬 수 있습니다. 관계없는 키를 남겨두면 시스템이 손상되지 않습니다. 어떤 사람들은 레지스트리 정리 / 조각 모음을하면 시스템 속도가 빨라지 겠지만, 반복적으로 잘못된 것으로 입증되었습니다..

    정말로 이러한 프로그램을 제거하려면 프로그램의 모든 추적을 제거 할 수있는 제거 프로그램 도구가 있습니다. 이 프로그램은 다른 프로그램의 설치 프로그램을보고 파일 시스템 및 레지스트리에 수행 된 모든 작업을 기록한 다음 해당 작업을 완전히 제거합니다. 이러한 도구의 한 가지 문제는 유지하려는 것이 제거 될 수 있다는 것입니다..


    설명에 추가 할 것이 있습니까? 의견에서 소리가 나지. 다른 기술에 정통한 Stack Exchange 사용자의 답변을 더 읽고 싶습니까? 전체 토론 스레드를 여기에서 확인하십시오..