2015-01-01 2 views
0

저는 Wix 표준 작업 (StartServices, RemoveFiles 등)의 측면에서 msi 파일을 업그레이드하는 동안 실행되는 정확한 작업 목록을 찾고 있습니다. 내 wxs 파일에 사용자 지정 작업을 삽입하고 싶으므로 묻습니다. 일정을 잡는 방법을 알아야합니다. 사전에msi 업그레이드 중에 실행되는 단계는 무엇입니까?

감사합니다, 에이 탄

+0

정확히 무엇을하고 싶은지 말할 수 있습니다. 새 MSI에만 CA를 삽입 할 수 있으므로 비 업그레이드와 동일합니다. 이전 제품이 제거되기 전에 무언가를 수행하는 것이면 주요 업그레이드 요소에서 예약 된 RemoveExistingProducts보다 먼저 수행해야합니다. – PhilDW

+0

이것은 내가하고 싶은 일입니다. 업그레이드가 시작될 때 임시 파일을 만들고, 프로그램 시작 직전에 업그레이드가 끝날 때 제거하는 것입니다. 감사! –

답변

2

이 매우 자세한 설명입니다. 일반적으로 특정 트랜잭션 (설치, 제거, 복구, 유지 보수 (기능 설치/제거), 특정 구성 요소의 설치, 재설치 또는 제거가 업그레이드 될 수 있음을 인식하십시오.) 구성 요소의 특성에 따라, 작업을 예약 (immeadiate)하고 실행 (지연) 할 수 있습니다. 이것은 언급 한 표준 작업 중 하나 이상이 무언가를 수행 할 수 있음을 의미합니다. 롤백의 경우 무언가를 취소 할 수 있습니다.

여기 :

Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer

Zataoca: Custom actions are (generally) an admission of failure.

01 23,516,

Zataoca: Custom actions should be data driven

Data Driven Managed Custom Actions made easy with DTF

Beam Me Up: Using JSON to serialize CustomActionData

그것은 충당하기 위해 많은입니다하지만 당신은 그것을 제대로 수행하려는 경우 당신은 할 필요가 무엇인지 설명하기 위해 하나 개 이상의 사용자 정의 테이블을 작성하고 조인을 갖고 싶어 Component 테이블에 "when"이 발생하도록 유도합니다. 그런 다음 사용자 지정 동작은 "어떻게"발생하는지 구현합니다. 테이블을 쿼리하고 구성 요소 상태를 평가하여 여러 가지 사용자 지정 작업에 데이터를 전달하여 작업을 수행하고, 롤백하고, 롤백을 지원하기 위해 저장되지 않았거나 수행하기에 안전하지 않은 모든 아티팩트를 처리 (커밋)합니다. 설치의 마지막 단계 (롤백이 비활성화되지 않았다고 가정).

+0

자세한 답변을 보내 주셔서 감사합니다. 내 질문에 초점을 맞추려면 다음과 같이 정확하게하고 싶습니다. 업그레이드가 시작될 때 임시 파일을 만들고, 프로그램 시작 직전에 업그레이드가 끝날 때 파일을 제거합니다. –

+0

InstallShield는 지원 파일이라는 기능을 통해이를 지원합니다. 파일이 사용자 지정 테이블에서 쳐다 보며 사용자 지정 작업을 호출하여 임시 디렉터리에 추출하고 해당 경로에 속성 (SUPPORTDIR)을 할당합니다. 그런 다음 설치가 완료되면 다른 사용자 지정 작업이 호출되어 파일을 정리합니다. 그것은 꽤 잘 작동합니다. InstallShield의 평가판 사본을 다운로드하고이를 수행하는 간단한 MSI를 작성한 다음 ORCA에서 편집하여 모든 것을 연결하는 방법에 대한 이해를 얻으십시오. –

+0

임시 파일의 내용과 사용 방법을 이해하면 더 좋은 제안을 제공 할 수 있습니다. –

관련 문제