0
제거 할 때 실행해야하는 사용자 지정 작업이 있습니다. 그러나 알려지지 않은 이유로 msiexec에 "이 Windows Installer 패키지에 문제가 있습니다.이 설치를 완료하는 데 필요한 DLL을 실행할 수 없습니다. 지원 담당자 또는 패키지 공급 업체에 문의하십시오.". 코드는 다음과 같습니다.제거시 관리되는 사용자 지정 작업을 실행할 수 없습니다.
<Binary SourceFile="SetupWiX.CA.dll" Id="Binary1" />
<CustomAction Id="DropDatabase" BinaryKey="Binary1" DllEntry="DropDatabase" Execute="deferred" Return="check"/>
<Custom Action='DropDatabase' After="SetCustomActionDataValue_DropDatabase">Installed</Custom>
설치시 실행할 수있는 몇 가지 다른 사용자 지정 작업이 있으며 정상적으로 실행됩니다. 조건을 제외한 모든 것은 거기서 동일합니다. 그러면 사용자 지정 작업을 올바르게 제거 할 수 있습니까? 빈 wix 설치 프로젝트와 제거시 메시지 상자를 표시하는 간단한 사용자 지정 작업을 만들었습니다. 나는 첫 번째 맞춤 동작에 어떤 문제가 있는지 알지 못합니다. 설치 및 제거시 동일한 DLL을 사용합니다. 오류 로그는 아래 간다 :
Action start 16:07:34: INSTALL.
Action start 16:07:34: ValidateProductID.
Action ended 16:07:34: ValidateProductID. Return value 1.
Action start 16:07:34: CostInitialize.
Action ended 16:07:34: CostInitialize. Return value 1.
Action start 16:07:34: FileCost.
Action ended 16:07:34: FileCost. Return value 1.
Action start 16:07:34: CostFinalize.
Action ended 16:07:34: CostFinalize. Return value 1.
Action start 16:07:34: InstallValidate.
Action ended 16:07:34: InstallValidate. Return value 1.
Action start 16:07:34: InstallInitialize.
Action ended 16:07:37: InstallInitialize. Return value 1.
Action start 16:07:37: ProcessComponents.
Action ended 16:07:37: ProcessComponents. Return value 1.
Action start 16:07:37: UnpublishFeatures.
Action ended 16:07:37: UnpublishFeatures. Return value 1.
Action start 16:07:37: RemoveFiles.
Action ended 16:07:37: RemoveFiles. Return value 0.
Action start 16:07:37: InstallFiles.
Action ended 16:07:37: InstallFiles. Return value 1.
Action start 16:07:37: DropDatabase.
Action ended 16:07:37: DropDatabase. Return value 1.
Action start 16:07:37: RegisterUser.
Action ended 16:07:37: RegisterUser. Return value 0.
Action start 16:07:37: RegisterProduct.
Action ended 16:07:37: RegisterProduct. Return value 1.
Action start 16:07:37: PublishFeatures.
Action ended 16:07:37: PublishFeatures. Return value 1.
Action start 16:07:37: PublishProduct.
Action ended 16:07:37: PublishProduct. Return value 1.
Action start 16:07:37: InstallFinalize.
CustomAction DropDatabase returned actual error code 1154 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (D4:DC) [16:07:41:650]: Product: MyProduct -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action DropDatabase, entry: DropDatabase, library: C:\Windows\Installer\MSI4DEF.tmp
Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action DropDatabase, entry: DropDatabase, library: C:\Windows\Installer\MSI4DEF.tmp
Action ended 16:07:41: InstallFinalize. Return value 3.
Action ended 16:07:42: INSTALL. Return value 3.
MSI 로그를보고 올바르게 무엇이 잘못되었는지 확인 했습니까? – saschabeaumont
@saschabeaumont 로그에 정확히 동일한 오류가 포함되어 있습니다. 자세한 설명은 없습니다 –
그리고 CA DLL은 DropDatabase (MSIHANDLE h) 함수를 확실히 내 보냅니다. SetupWiX.CA.dll을 대상 시스템에 복사하고 depends.exe를 실행하여 확인을로드했는지 확인해 보셨습니까? –