2014-07-11 3 views
0

제대로 작동하는 셸 확장 (DLL)을 만듭니다. 그러나 제거 프로그램을 사용하여 제거하지 않은 DLL을 제거 할 때 Windows 탐색기로 열었습니다. & Explorer.exe를 먼저 닫으려면 TaskManager를 사용해야합니다 그런 다음 다시 실행하고 해당 파일을 수동으로 삭제하십시오 (Shell Extenstion Dll), 이제 내 질문은 Uninstaller 스크립트에서 셸 확장 파일을 삭제하는 방법입니까? Nullsoft Scriptable Install System 2.46 (NSIS)을 사용하여 설치 프로그램을 만듭니다.탐색기로 열린 파일 삭제

답변

1

Windows에서 셸 확장을 제거하는 좋은 방법은 없습니다.

가장 좋은 방법은 .dll을 삭제하고 다시 부팅하여 다시 시도하는 것입니다 : Delete /RebootOK "$InstDir\MyExt.dll".

또 다른 방법은 .dll을 % temp % (으)로 이동하는 것입니다. 이렇게하면 확장 프로그램이 언로드되지는 않지만 다른 모든 파일을 삭제할 수있게되며 다음에 사용자가 로그인 할 때 확장 프로그램이로드되지 않습니다. (이것은 % temp %와 같은 볼륨에서만 작동합니다)

열기/저장 공통 대화 상자를 사용하거나 내부적으로 SHGetFileInfo(), IShellFolder 또는 IShellItem을 사용하는 모든 응용 프로그램은 익스텐션을로드 할 수 있으므로 탐색기만으로는 충분하지 않을 수 있습니다.