2011-04-20 5 views
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. 
+1

MSI 로그를보고 올바르게 무엇이 잘못되었는지 확인 했습니까? – saschabeaumont

+0

@saschabeaumont 로그에 정확히 동일한 오류가 포함되어 있습니다. 자세한 설명은 없습니다 –

+1

그리고 CA DLL은 DropDatabase (MSIHANDLE h) 함수를 확실히 내 보냅니다. SetupWiX.CA.dll을 대상 시스템에 복사하고 depends.exe를 실행하여 확인을로드했는지 확인해 보셨습니까? –

답변

0

문제는 공공, 민간없는 것을 내 사용자 지정 작업 방법에 있었다.

관련 문제