10 votos

paquete de PKGBUILD creado no se instala correctamente

Ahora han utilizado pkgbuild/productbuild para crear un producto de archivo, que consta de tres paquetes de la aplicación, desinstalador, KEXT), que de acuerdo con el instalador instala bien, no hay errores.

Los KEXT esté colocado correctamente en /Library/Extensions y la secuencia de comandos postinstall cargas muy bien.

Pero mis aplicaciones no se mueven a la /Aplicaciones/Empresa/ carpeta. La carpeta se crea, pero las aplicaciones no están allí.

El proceso de hacer el componente plist + distribución XML es tan absolutamente simple, por lo que simplemente no puedo imaginar lo que la h*ll puede ir mal ?

El paquete puede ser "instalado" a través de Pacifista, aunque, a continuación, la secuencia de comandos postinstall no se ejecuta.

Ayuda?

Actualización:

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

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

A continuación, el producto archivo, el paso 1:

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

distribution.xml se modifica con la correcta imagen de fondo, licencia, etc.

Paso 2:

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

(He omitido el KEXT paquete que funciona a la perfección)

Cuando la instalación "de salida.pkg", de la carpeta /Aplicaciones/Empresa/ se crea, pero está vacío.

RESUELTO (ver Grahams respuesta a continuación):

Mediante el establecimiento de BundleIsRelocatable en el componente plist archivos falsos, las aplicaciones se ponen en el lugar correcto.

Ver el registro del instalador, la solicitud se "trasladó" a donde mi proyecto de Xcode construido la aplicación, pero todavía cree que el /Aplicación/carpeta de Compañía. Un "poco" peculiar comportamiento diría yo.

OSX versión es 10.11.1.

13voto

Steve Evans Puntos 155

Mueve Aplicaciones

El Instalador es probable que la actualización de la primera copia de la aplicación en la que se encuentra y no la aplicación en la ubicación de instalación predeterminada.

Este comportamiento es deliberado y permite a los usuarios mover las aplicaciones, mientras que conserva la capacidad para utilizar el Instalador de paquetes para aplicar las actualizaciones.

Como desarrollador, usted probablemente tiene numerosas copias de la aplicación de destino en tu Mac. Es probable que la última copia que usted – o Xcode – en marcha es el que está siendo actualizado. Esto puede incluir copias dentro de oculta carpetas de generación.

Exigir la Localización con BundleIsRelocatable

Configuración de BundleIsRelocatable indicador false fuerzas Instalador.aplicación para utilizar la ruta exacta proporcionada por el paquete.

Sin este indicador establecido, el programa de instalación.la aplicación buscará en el Mac de destino para la coincidencia de aplicaciones y escribir la nueva copia a la ubicación descubierta.

  • Pruebe su instalador limpiar con una Mac con una copia nueva de OS X.
  • Mira de cerca a la salida del registro de Instalador.aplicación o installer; verá las entradas con respecto a la búsqueda y localización final de los reubicados de la aplicación.

Reportar el Error

Que el Instalador todavía se crea la empresa matriz de la carpeta se siente como un error. Por favor, informar de un bug con Apple.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X