wix installer (버전 3)를 사용하고 있습니다. msi 버전 1.99와 다른 msi 버전 2.00이 있습니다. 내 응용 프로그램은 일부 인수를 사용하여 DB를 호출하여 가져 오기 및 내보내기를 수행 할 수 있습니다. 주요 업그레이드를 수행하고 업그레이드 전후에 사용자 지정 작업을 호출하려고합니다. 이제 맞춤 동작 코드가 올바르게 작동합니다. 문제는 이전 버전에서 실행해야하는 코드가 제거되고 제거 된 후 실행 중이므로 앱을 활성화하고 백업 파일을 생성 할 수 없다는 것입니다.이전 버전을 제거하기 전에 Wix installer 메이저 업 그레 이드 코스튬 액션
간략한 설명 : 이전 버전을 제거하기 전에 사용자 지정 작업을 수행하는 시간을 어떻게 만듭니 까?
<CustomAction Id="doExport"
Return="check"
Execute="immediate"
BinaryKey="ImportExportBinary"
DllEntry="BeforeInstall" />
<CustomAction Id="doImport"
Return="check"
Execute="immediate"
BinaryKey="ImportExportBinary"
DllEntry="AfterInstall" />
<InstallExecuteSequence>
<Custom Action="doExport" Before="InstallInitialize"> NOT Installed</Custom>
<Custom Action="doImport" After="InstallFinalize"> NOT Installed</Custom>
</InstallExecuteSequence>
편집 : 여기
의 주요 업그레이드 코드입니다 : 내가 함께 약간의 재생을 시도했습니다<MajorUpgrade AllowDowngrades="no"
Schedule="afterInstallFinalize"
DowngradeErrorMessage='Cannot downgrade!'
AllowSameVersionUpgrades='yes' ></MajorUpgrade>
"실행"속성
이
내가 그들에게 전화하는 방법입니다 CustomAction 요소에 대한 결과가 없습니다.도움 주셔서 감사합니다.
안녕하세요 @PhilDW, 나는 코드에 도달하고 그것을 실행하는 간단한 txt 로그를 가지고 있습니다. 또한 majorupgrade 요소를 추가했습니다. –
코드를 실행하는 것이 아니라 코드가 작동하는지 여부입니다. 코드가 오류를 확인하지 않고 바로 통과하면 모든 것이 작동한다고 가정하면 분명히 작동하지 않습니다. 당신의 코드는 끝으로가는 예외 포수를 가지고 있을지도 모릅니다. 그렇지 않으면 성공하지 못할 수도 있습니다. 앞에서 설명한 것처럼 대화 형 계정에서 실행하는 테스트와 동일한 방식으로 코드가 실행되고 있지 않습니다. – PhilDW
안녕하세요, 저는 다양한 기계에서이를 테스트했으며 정상적으로 작동합니다. –