내 제거 프로세스는 어떻게 복원 레지스트리 항목을 올바르게 처리 할 수 ​​있습니까?

StackOverflow https://stackoverflow.com/questions/402017

  •  03-07-2019
  •  | 
  •  

문제

때로는 응용 프로그램 설치 중에 Windows 레지스트리 설정을 수정해야합니다. 나는 최근에 이러한 설정이 제거 될 때 이러한 설정을 복원하지 않는 응용 프로그램에 좌절했습니다. 내가 이것에 대해 더 생각했듯이, 레지스트리 설정을 저장하고 복원하는 좋은 (또는 유효한) 방법이 없을 수도 있습니다. 예를 들어 다음과 같은 일련의 이벤트를 수행하십시오.

  1. 응용 프로그램 A는 파일 확장에 대한 공개 조치를 소유합니다 .abc.
  2. 응용 프로그램 B가 설치되고 파일 확장에 대한 공개 조치를 납치합니다. .abc.
  3. 응용 프로그램 A는 제거됩니다.
  4. 응용 프로그램 B가 제거되었습니다.

3 단계에서 응용 프로그램 A가 충분히 똑똑한 경우 더 이상 공개 조치를 소유하지 않으므로 복원 시도를 건너 뛸 것입니다.

4 단계에서 응용 프로그램 B가 취할 수있는 유효한 조치가 있습니까?

  • 아무것도하지 않으면 열린 액션이 삭제 된 실행 파일을 가리키게됩니다.
  • 응용 프로그램 A에 대한 포인터 복원은 마찬가지로 삭제 된 실행 파일입니다.
  • 이것은 일반적으로 일반적인 사용자의 기술 기술을 넘어서 고려되므로 사용자에게 허용되지 않습니다. 동의하지 않으면 1 단계와 2 단계에서 다른 레지스트리 변경을 대체하여 사용자가 대답 할 수 있다고 생각합니다.
  • 조치를 삭제하려면 마찬가지로 사용자는 나중에 정보가없는 결정을 내리거나 다른 기능을 사용자에게 사용할 수 없게 만들어야합니다.

이것은 명백한 일대일 "올바른"솔루션이없는 곳에서 구상 할 수있는 많은 나쁜 상황 중 하나 일뿐입니다. 다음 프로젝트에는 설치 중에 레지스트리 변경이 필요하며 제거에 대한 최상의 또는 권장되는 관행을 알고 싶습니다. 불행히도, 나는 현재 상업용 패키지의 나쁜 제거 관행에 의해 화상을 입었으므로, 여기서 모범 사례에 대한 합의가 없다는 것을 알고 있으며,이를 제대로 수행하는 것은 많은 일이거나 레지스트리의 디자인 결함이 있습니다. , 아니면 둘다.

이것은 나에게 매우 진정한 프로그래밍 문제입니다. 나는 하나의 크기에 맞는 것이 확실하지 않기 때문에 주관적으로 태그하고 있습니다. 오른쪽 이것에 대한 답변. 자유롭게 동의하지 마십시오.

도움이 되었습니까?

해결책

응용 프로그램 B를 쓰고 있다면, 첫 번째 .ABC 확장에 대한 열린 행동을 납치하지 말라고 말합니다. 설치하는 동안 사용자에게 .ABC 파일을 프로그램과 연결하려는 지 물어보십시오. 제거하는 동안 프로그램이 여전히 연관되어 있는지 확인하십시오. 그렇다면 파일 확장자를 분리하십시오. 그렇지 않으면 내버려 두십시오.

B를 제거한 후에도 .abc 파일과 관련이있는 다른 응용 프로그램이있는 경우, 힘든 - 사용자가 수정하십시오. 결국, 그는 .ABC 파일을 응용 프로그램과 연관시키고 응용 프로그램을 제거하기로 동의했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top