pkgbuild / productbuild를 사용하여 설치 프로그램에 따라 오류없이 설치되는 세 가지 패키지 (응용 프로그램, 제거 프로그램, KEXT)로 구성된 제품 아카이브를 만들었습니다.
KEXT는 / Library / Extensions에 올바르게 배치되고 설치 후 스크립트가이를 잘로드합니다.
그러나 내 응용 프로그램은 / Applications / Company / 폴더로 이동되지 않습니다. 폴더가 만들어 지지만 응용 프로그램은 여기에 배치되지 않습니다.
구성 요소 plist + 배포 XML을 수행하는 프로세스는 매우 간단하므로 h * ll이 잘못 될 수있는 것을 추측 할 수 없습니까?
패키지 는 Pacifist를 통해 "설치"될 수 있지만 설치 후 스크립트는 실행되지 않습니다.
도움?
최신 정보:
분석 단계 (응용 프로그램은 ./pkgbuild/app_path/ 폴더에 있음) :
pkgbuild --analyze --root "./pkgbuild/app_path/" app.plist
빌드 단계 :
pkgbuild --root "./pkgbuild/app_path/" \
--component-plist ./app.plist \
--install-location "/Applications/Company/" \
--identifier "com.company.myapp.pkg" \
--version "1.0" \
app.pkg
그런 다음 제품 아카이브, 1 단계 :
productbuild --synthesize --package app.pkg distribution.xml
그런 다음 distribution.xml이 올바른 배경 이미지, 라이센스 등으로 수정됩니다.
2 단계:
productbuild --distribution ./distribution.xml output.pkg
(KEXT 패키지는 완벽하게 작동하므로 생략했습니다)
"output.pkg"를 설치할 때 / Applications / Company / 폴더가 생성되지만 비어 있습니다.
해결됨 (아래 Grahams 답변 참조) :
설정하여 BundleIsRelocatable을 하는 구성 요소 PLIST 파일에 허위 , 응용 프로그램은 올바른 위치에 배치됩니다.
설치 관리자 로그를 보면 응용 프로그램이 Xcode 프로젝트가 앱을 빌드 한 위치로 "이전"되었지만 여전히 / Application / Company 폴더를 만듭니다. 내가 말하는 "약간"독특한 행동.
OSX 버전은 10.11.1입니다.
app.pkg
호출 한 후 예상 크기는 pkgbuild
? app.pkg
자체적으로 설치하면 작동 합니까 ?