osx - sierra - instalar mac os desde usb windows
¿Cómo construir un instalador nativo de Mac OS X(en una plataforma que no sea de Mac)? (7)
Como ya han señalado otros, realmente está tomando la solución más difícil a este problema, y sus usuarios maldecirán su nombre, a menos que tenga una muy buena razón para hacerlo. Es cierto que ciertos tipos de aplicaciones requerirán instaladores para Mac OSX. Estos generalmente incluyen:
- Aplicaciones que instalan controladores personalizados (es decir, extensiones de kernel)
- Las aplicaciones que necesitan instalar marcos u otros recursos que por alguna razón no se pueden empaquetar dentro del paquete de aplicaciones
- Las aplicaciones que necesitan ejecutarse como un servicio del sistema y, por lo tanto, deben ejecutar algunos scripts posteriores a la instalación para iniciar la aplicación durante el inicio
- Programas mal escritos que requieren hacer algún tipo de cambio en el sistema del usuario (es decir, establecer permisos en una carpeta o algo así), y las manos del desarrollador están atadas por las adictas del departamento de marketing para distribuir la aplicación de la manera más dolorosa posible
Ok, entonces ese último punto es un poco sarcástico, pero ¿entiendes mi deriva aquí? :) Básicamente, si está escribiendo una aplicación normal para el usuario final, debe distribuirla de la manera normal que los usuarios de Mac esperarían, que es un archivo DMG que contiene el paquete de su aplicación. O si desea ser realmente elegante, inserte un alias en la carpeta "Aplicaciones" dentro del DMG para ayudar al usuario a arrastrar el programa allí. A menos que esté escribiendo algo que deba instalarse en el sistema, en lugar de simplemente ser ejecutado por el sistema, no hay ninguna razón para usar un instalador aquí. Además, tenga en cuenta que se trata de OSX, que ya contiene un JRE de Java totalmente funcional, por lo que no tiene que preocuparse de empaquetar el JRE en un instalador ni nada de eso.
Ahora que te han regañado apropiadamente por hacer esta pregunta, la responderé con la suposición de que tu software se encuentra en una de las categorías anteriores. Realmente, tu mejor opción sería ir con una solución comercial como el instalador VISE (que, una vez más, puedo afirmar con confianza que la gran mayoría de los usuarios de Mac retrocederá aterrorizada al instalar un producto hecho con esta herramienta), lo que te permite para hacer exactamente lo que está buscando aquí, básicamente, para crear un instalador multiplataforma que compila para las diversas plataformas que desea admitir desde un solo archivo instalador.
De nuevo, sin embargo, su mejor opción aquí es hacer lo que los usuarios de esa plataforma se sientan más cómodos (razón por la cual todas las respuestas a su pregunta lo instan a no hacer un instalador). Eso significa, sin embargo, si realmente debe hacer un instalador, debe usar un marco que no sea de plataforma cruzada; Los usuarios de Windows se sentirán más a gusto cuando se les presente un instalador estándar de MSI, y los usuarios de Mac se sentirán más cómodos con un paquete de Apple Installer. Sin embargo, el programa PackageMaker es notoriamente limitado, por lo que si debe hacerlo, debe usar iceberg en su lugar. Esto significará un poco más de mantenimiento para usted, ya que tendrá que atender después de dos (o más) instaladores separados, pero si su software es realmente tan complejo como para exigir esto, debe estar dispuesto a hacer el sacrificio por la comodidad de tus usuarios.
¿Cómo puedo crear un instalador Mac OS X nativo para mi aplicación, en una plataforma que no sea Mac?
Por ejemplo, tengo una PC con Windows y una aplicación Java. Quiero que Windows PC construya un instalador (posiblemente dentro de un archivo .dmg) que funcione con el instalador de Apple.
La forma habitual de instalar una aplicación en una Mac es arrastrar la aplicación a la carpeta de la aplicación. La mayoría de los programas vienen como un DMG que contiene la aplicación y un enlace simbólico a la carpeta de la aplicación. ¿Por qué lo querrías de otra manera? ¡Necesitas pensar en Mac para construir una excelente aplicación para Mac! El aspecto y la sensación es muy importante, especialmente para los usuarios de Mac.
Coloque todo en un solo archivo JAR, agréguelo a un ZIP. Hecho.
Pero en serio, ¿quiere distribuir su aplicación a los usuarios de Macintosh sin probarla primero? ¿¡En que planeta Estas!?
Es difícil crear un archivo .dmg en Windows, pero sin duda es posible crear una estructura de archivo .app que luego se puede comprimir, como han mencionado otros comentados. Hay momentos en que un .pkg regular no lo va a cortar y desea proporcionar diálogos, comprobaciones previas a la instalación, etc. Puede hacerlo con el constructor de instalación BitRock , puede construir instaladores para mac, Linux, Windows, Solaris desde cada uno de los otras plataformas.
Consulte este código para leer archivos BOM: https://cauldrondevelopment.com/svn/osxbom/trunk
Ahora es posible crear un instalador nativo de Mac OS X en una plataforma que no sea Mac. Como Louis Gerbarg, el truco es el archivo BOM (lista de materiales). Sin embargo, una versión de código abierto de mkbom (basada en el código osxbom de Joseph Coffland) ahora está disponible en:
http://hogliux.github.io/bomutils
El sitio web también tiene un tutorial paso a paso fácil de seguir para crear un instalador de Mac OS X en Linux ( http://hogliux.github.io/bomutils/tutorial.html ).
Mi compañía crea regularmente instaladores de Mac OS X en Linux con este método y hasta ahora no hemos tenido ningún problema importante.
Entonces, un par de preguntas rápidas.
Primero, ¿por qué quieres un instalador? La mayoría de los usuarios de Mac prefieren aplicaciones que solo tienen arrastre instalado. Si no está escribiendo un código específico para Mac OS X, es difícil imaginar que necesite colocar bits en lugares especiales, como Application Support o LaunchDaemons. Suponiendo que todo lo que tienes acaba en una carpeta, ¿por qué molestarse con un instalador?
En segundo lugar, ¿por qué sería un problema construir el instalador de Mac en una Mac? Seguramente tienes un Macintosh para probar la aplicación (no estás simplemente enviándolo ciegamente para Mac sin probarlo en una Mac, ¿verdad?).
De acuerdo, una vez dicho esto, suponiendo que todavía tienes una buena razón para construir esto en una PC, hay algunas partes que no serán fáciles. Básicamente, un .pkg es un conjunto de scripts de texto, localizaciones, un archivo de almacenamiento (Archive.pax.gz) y una lista de materiales (Archive.bom).
Suponiendo que no hay muchos cambios entre compilaciones, puede hacer el instalador en una Mac, y luego reconstruir el bom y el pax.gz, reemplazarlos en el .pkg existente y agrupar algunos metadatos. La pax debería ser lo suficientemente fácil de tratar (pax es un formato de archivo estándar), pero el archivo bom puede ser un poco más complicado, ya que no creo que esté documentado públicamente, y dudo que las herramientas para crearlas (mkbom) sean parte de darwin (no de código abierto). Por lo tanto, tendrá que descubrirlo y escribir una herramienta personalizada para crear el archivo bom.
En otras palabras, es probable que sea una gran cantidad de trabajo.