El package pkgbuild created no se instala correctamente

Ahora he usado pkgbuild / productbuild para crear un file de producto, que consta de tres packages (aplicación, desinstalador, KEXT), que según el instalador se instala bien, no hay errores.

El KEXT se coloca correctamente en / Library / Extensions y el script postinstall lo carga muy bien.

Pero mis aplicaciones no se mueven a la carpeta / Applications / Company /. Se crea la carpeta, pero las aplicaciones no se colocan allí.

El process de hacer el XML de distribución de componente + PLT + es tan absolutamente simple, ¿no puedo entender lo que puede pasar mal?

El package se puede "instalar" a través de Pacifist, aunque luego no se ejecuta el script postinstall.

¿Ayuda?

Actualizar:

Fase de análisis (la aplicación reside en la carpeta ./pkgbuild/app_path/):

pkgbuild --analyze --root "./pkgbuild/app_path/" app.plist 

Fase de construcción:

 pkgbuild --root "./pkgbuild/app_path/" \ --component-plist ./app.plist \ --install-location "/Applications/Company/" \ --identifier "com.company.myapp.pkg" \ --version "1.0" \ app.pkg 

Luego, el file del producto, paso 1:

 productbuild --synthesize --package app.pkg distribution.xml 

distribution.xml se modifica con la image de background correcta, la licencia, etc.

Paso 2:

 productbuild --distribution ./distribution.xml output.pkg 

(He omitido el package KEXT ya que funciona perfectamente)

Al instalar "output.pkg", se crea la carpeta / Applications / Company / pero está vacía.

SOLUCIONADO (ver la respuesta de Grahams a continuación):

Al configurar BundleIsRelocatable en los files plist de componentes en falso , las aplicaciones se colocan en el lugar correcto.

Viendo el logging del instalador, la aplicación se "trasladó" a donde mi proyecto Xcode construyó la aplicación, pero aún crea la carpeta / Application / Company. Un comportamiento "levemente" peculiar diría.

La versión de OSX es 10.11.1.

  • Proteger el server Mac después de que el administrador del server fue despedido
  • ¿Por qué el nombre de host en el intérprete de commands del shell es "MacBook-2" en lugar de "MacBook"?
  • El Capitan Mail 9.1: deshabilita la carga remota de contenido solo para correo no deseado
  • Error de arranque después de la actualización de MacOS Sierra desde Mavericks
  • SRM ido en macOS Sierra (10.12)
  • Recuento de ciclos de la batería de Mac OS
  • ¿Cómo puedo hacer que este Apple Script sea más corto? (salir de varias aplicaciones a través de tell)
  • Lanzando el file mp3 desde Finder, iTunes primero me dice que lo está "copyndo", ¿a dónde?
  • One Solution collect form web for “El package pkgbuild created no se instala correctamente”

    Aplicaciones movidas

    Es probable que el instalador esté actualizando la primera copy de la aplicación que encuentra y no la aplicación en la location de installation pnetworkingeterminada.

    Este comportamiento es deliberado y permite a los usuarios mover aplicaciones, al time que conserva la capacidad de utilizar packages de installation para aplicar actualizaciones.

    Como desarrollador, probablemente tenga numerosas copys de la aplicación de destino en su Mac. Es probable que la última copy que haya lanzado, o Xcode, sea la que está siendo actualizada. Esto puede include copys dentro de carpetas ocultas de compilation.

    Haga cumplir la location con BundleIsRelocatable

    Establecer el indicador BundleIsRelocatable para false forces Installer.app para usar la ruta exacta proporcionada por el package.

    Sin este set de indicadores, Installer.app searchá en el Mac objective para encontrar las aplicaciones correspondientes y escribirá la nueva copy en la location descubierta.

    • Pruebe su instalador con una Mac limpia con una copy nueva de OS X.
    • Mire de cerca la salida de logging de Installer.app o installer ; Verá inputs relacionadas con la búsqueda y la location final de la aplicación reubicada.

    Reportar el error

    Que el Instalador aún haya creado la carpeta de la empresa matriz parece un error. Por favor, informa un error con Apple .

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).