2013-01-18 2 views
0

설치 프로그램과 함께 작업중인 이전 버전의 응용 프로그램이 다른 사람이 작성했습니다. 업데이트 기능을 사용하는 데 어려움을 겪어 왔기 때문에 이전 버전을 설치하기 전에 제거하고 싶지만 설치가 진행될 것이라고 확신 할 수 있습니다.WiX 확장 명령 줄 사용자 지정 작업이 실행되지 않음

나는 분명히 뭔가 잘못하고 있습니다. 설치 프로그램에서 다음 명령 줄을 실행하고 싶지만 설치가 시작됩니다. 설치 프로그램을 실행할 때 응용 프로그램이 설치되지만 명령 줄이 실행되지 않습니다. 어떤 도움을 주시면 감사하겠습니다.

내가 실행할 명령 줄은 다음과 같습니다

start /wait MsiExec.exe /quiet /x{MyGuid-0F4A-4F53-8639-0BEE6018EAD6} 

내 윅스 XML의 관련 부분 :

<Property Id="QtExecCmdLine" Value="start /wait MsiExec.exe /x{MyGuid-0F4A-4F53-8639-0BEE6018EAD6}"/> 
<CustomAction Id="UninstallOldVersion" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="ignore"/> 
<InstallExecuteSequence> 
    <Custom Action="UninstallOldVersion" Before="InstallInitialize"/> 
</InstallExecuteSequence> 

나는 프롬프트에서 실행하면 예상대로 명령이 작동. 또한 설치 프로그램을 컴파일하거나 실행하는 동안 오류나 경고가 표시되지 않습니다.

답변

1

당신이하려고하는 것은 컴퓨터에서 한 번에 하나의 설치 트랜잭션을 시행하는 Windows Installer에 내장 된 뮤텍스 (mutex)로 인해 작동하지 않습니다.

대신 MajorUpgrade 요소를보고 이전 버전 제거를 작성해야합니다.

관련 문제