2011-12-15 3 views
1

파일, 우리는 내가 업그레이드 할 .. 파일에 대한Install4j 사용자 지정 작업이 새로운 병합 오래된 특성 install4j에서

을 덮어 쓰기 정책을 설정할 수 있습니다 최종 사용자가 편집 할 수있는 .properties 구성 파일이있는 응용 프로그램입니다. 최신 버전에서는 일부 속성이 추가되지만 사용자 정의 된 기존 속성은 업데이트하지 않습니다.

"덮어 쓰기"정책을 "never"로 설정하고 새 속성을 병합하기위한 사용자 지정 작업을 만듭니다. "텍스트를 파일에 추가"를 사용할 수 있지만 더하고 싶습니다. 동적으로 이전 파일과 새 파일을 비교하고 키가 이전 파일에없는 속성 만 추가합니다.

그래서 내 질문 : 행동이 설치 또는 업그레이드 중에 불려 갔을 경우

  1. 내가 감지 할 수 있습니까?
  2. 이전 파일을 덮어 쓰지 않은 경우 새 파일의 내용을 어떻게 가져올 수 있습니까?

답변

1

설치 또는 업그레이드 중에 작업이 호출되는지 감지 할 수 있습니까?

예, 조건식 또는 다른 스크립트에

context.isUpdateInstallation() 

를 사용할 수 있습니다.

이전 파일을 덮어 쓰지 않은 경우 새 파일의 내용을 어떻게 가져올 수 있습니까?

파일이 설치되어 있지 않으면 내용에 액세스 할 수 없습니다. 나는 제안 다음

  1. 는이 사건에서 "복사 파일"조치
  2. 와 대상 경로에 복사, 특성이 다른 경로를 새로 설치의 경우
  3. 에 파일 설치 업그레이드 설치 중 속성 파일 병합
  4. 모든 경우에 1 단계에서 "파일 삭제"작업으로 템플릿 파일을 삭제하십시오.