Obtener la ruta actual de la aplicación Automator

Estoy tratando de crear una aplicación Automator que distribuiré a otros usuarios en la red. La aplicación de automatización estará acompañada por un archivo ZIP y un archivo de instalación PKG.

Necesito ejecutar el archivo de instalación de PKG en la aplicación de automatización. Para esto, estoy tratando de usar Run Shell Script usando el siguiente comando:

open gdata.pkg

El problema que tengo es que Automator no puede encontrar este archivo. Creo que no toma la ruta actual. Intenté cambiarlo de las siguientes maneras:

Experimento 1:

cd $@; open gdata.pkg

Experimento #2:

open ./gdata.pkg

Ambos no funcionaron para mí. Automator sigue dando el error de que no pudo ejecutar el script. ¿Cómo logro esto aquí?

Mi próximo paso después de esto sería descomprimir el archivo ZIP adjunto en una nueva carpeta en el escritorio del usuario.

Respuestas (2)

Use una acción Ejecutar AppleScript con lo siguiente para obtener la ruta:

POSIX path of (path to me)

Cuando se ejecuta en el flujo de trabajo, proporciona la ruta a Automator.app, pero cuando se ejecuta iniciando la aplicación guardada, proporciona la ruta a la aplicación.

Ok, esa fue una buena pista. Me las arreglé para desarrollar un código para que esto suceda: 'set pathToMe to POSIX path of (path to me as text)', y (set script1 to "dirname '" & pathToMe & "'"), and (set dirPath para hacer shell script script1), luego finalmente (hacer shell script "open '" & dirPath & "/GData.pkg'"). No estoy seguro de si esta es la mejor manera de hacer que esto funcione.

Publicaría la respuesta aquí, pero este artículo ya la captura por completo, así que encójase de hombros :

http://albertech.blogspot.com/2011/08/get-path-of-running-script-with.html

Por muy apropiado que sea el artículo, a veces se desconectan, por lo que le agradeceríamos que lo citara o parafraseara aquí.
¡La pregunta ya tiene una respuesta aceptada y su respuesta de solo enlace proporciona lo mismo (path to me)y, por lo tanto, es innecesariamente redundante!