설치 프로세스 중에 응용 프로그램 설치를위한 디렉토리를 C :/Test/(설치 위치의 루트 경로)로 선택했습니다. 이 위치에 성공적으로 설치되었습니다 (C :/Test /). 이 패키지를 제거하면 설치된 모든 파일과 하위 디렉토리가 제거됩니다. 그러나 설치된 루트 디렉토리 (예 : C :/Test)를 제거하지 않았습니다. 아래의 사용자 지정 작업은 설치 루트 경로 및 설치 파일 (하위 디렉터리 포함)을 삭제/제거하는 데 사용됩니다. 기본이 아닌 디렉토리에 설치하는 경우WIX MSI : 패키지를 제거해도 설치 디렉토리 루트 경로가 삭제되지 않습니다.
msiexec /x SetupProject.msi /L*V log.txt
, [APPINSTALLDIR]
이 제거 올바르게 설정되어 있는지 확인 : 설치 제거의
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize" />
<Custom Action="ApplicationInstallDir" After="AppSearch">APPINSTALLDIR</Custom>
<Custom Action="DeleteInstallDir" Before="RemoveFiles" >
REMOVE="ALL"
</Custom>
</InstallExecuteSequence>
<CustomAction Id="DeleteInstallDir" BinaryKey="CommandPrompt"
ExeCommand="cmd /C pushd "[APPINSTALLDIR]" && (rd /s /q "[APPINSTALLDIR]" 2>nul & popd)" Execute="deferred" Return="ignore" HideTarget="no" Impersonate="no" />
Windows Installer에서 적용 할 수있는 cmd를 세션을 호출 할 필요없이 자동으로 제거해야합니다. 설치 프로그램에는 다른 문제가 있습니다. –
.. 그리고 Chris의 의견 외에도 WiX가 RemoveFile 요소를 제공하기 때문에 코드를 사용하지 않을 것입니다. – PhilDW