홈페이지 » 어떻게 » Windows에서 동시에 여러 프로그램을 제거 할 수없는 이유는 무엇입니까?

    Windows에서 동시에 여러 프로그램을 제거 할 수없는 이유는 무엇입니까?

    Windows 시스템에서 제거하려는 프로그램이 많지 만 Windows에서는 한 번에 하나씩 제거 만 할 수 있다고 가정합니다. 그게 왜? 여러 프로그램을 동시에 제거하지 못하게하는 이유?

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

    질문

    수퍼 유저 Jeroen Bollen은 Windows에서 동시에 여러 프로그램을 제거 할 수없는 이유를 알고 싶어합니다.

    Windows가 여러 프로그램을 동시에 제거하거나 제거하지 못하게하는 이유는 무엇입니까? 이것에 대한 이유는 무엇입니까? 내부 시스템을 망칠까요??

    여러 프로그램을 동시에 설치 제거하고 싶지는 않습니다. 이유가없는 이유를 찾고 있습니다..

    사람들이 Windows에서 동시에 여러 프로그램을 제거하지 못하게하는 원인은 무엇입니까??

    대답

    수퍼 유저 기고 가인 ultrasawblade와 techie007이 답변을드립니다. 우선, 울트라 블레이드 :

    Windows Installer 시스템의 작동 방식에 대해 읽은 경우 트랜잭션 데이터베이스의 아이디어를 프로그램 설치 및 유지 관리에 적용한 것은 물론입니다 .msi 파일 자체는 데이터베이스입니다..

    모든 데이터베이스 설계에는 항상 문제가 있습니다 - 속도 나 정확성 / 안전을 원하십니까? 설치 관리자가 시스템의 구성을 수정할 수 있고 사고로 인해 시스템이 작동하지 않을 수 있다는 점을 감안할 때 안전은 속도보다 우선 순위가 부여되었습니다.

    이유 중 하나는 .msi 설치 관리자는 각 파일 등에 대해 롤백 파일이 만들어지기 때문에 수정 된 다음 나중에 삭제되어 정전 사태 나 정전과 같은 상황이 발생하면 변경 사항을 "롤백"할 수 있기 때문에 설치 프로그램이 너무 느립니다. 시스템 충돌).

    이제는 MSI 엔진 자체가 한 번에 하나의 프로그램 만 설치, 수정 또는 제거해야한다고 생각합니다. 당신이 .msi 예를 들어 다른 파일이 제거되는 동안 파일이 실행되지 않거나 현재 실행중인 제거 프로세스가 완료 될 때까지 기다립니다. MSI가 아닌 설치 프로그램은 MSI 엔진을 사용하지 않기 때문에 이러한 방식으로 작동하지 않을 수 있습니다. 그러나이 안전 설계 결정 때문에 이것이 아마도 appwiz.cpl 한 번에 하나의 제거 프로그램 만 호출하도록 요구함.

    CCleaner를 사용하면 이전에 실행중인 프로그램을 기다리지 않고 제거 프로그램을 시작할 수 있지만 MSI 설치 프로그램은 위의 이유로 인해 병렬로 작동하지 않을 가능성이 높습니다.

    techie007의 답이 뒤따 랐습니다.

    이것은 실제로 Windows Installer 시스템을 사용하는 프로그램에만 적용됩니다..

    프로그램이 자신의 (un) 설치 프로그램 시스템을 사용하는 경우, 동시에 다른 설치 제거 프로그램을 실행하는 것을 막을 수있는 것도 없습니다.

    Windows Installer는 여러 프로그램이 시스템 전체 (종종 공유 된) 설정과 파일을 변경하는 동안 충돌을 피하기 위해 인스턴스 수를 제한합니다.

    대부분의 제거 프로그램은 변경 내용을 추적하므로 오류가 발생하면 성공적으로 롤백 할 수 있습니다. 다른 설치 제거 프로그램이 변경 한 모든 사항을 인식하지 못하면 실제로 실패한 설치를 롤백하려고 할 때 실제로 문제가 발생할 수 있습니다..

    Windows Installer 시스템은 모든 응용 프로그램 개발자가 이러한 문제를 방지하기 위해 (Windows에서) 사용할 수있는 통일 된 시스템을 만들기 위해 만들어졌습니다..


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