1 votos

Ejecutar AppleScript compilado desde DMG no funciona

Como continuación a mi anterior pregunta (Establecer la Carpeta de Trabajo de la .app Creado por Apple Script) tengo el siguiente problema.

Tengo un AppleScript que es Pobre el hombre del Instalador:

tell me to activate

set appPath to POSIX path of (path to me as text)

set folderName to "'MyFolderName'"

set copyFolder to "cp -r " & appPath & folderName & "'/.' '/Library/Application Support/'" & folderName & "'/' & "

set exitScript to "exit 0;"

display dialog "Run Installer?" buttons {"Run", "Cancel"} default button 1

if the button returned of the result is "Run" then
    do shell script copyFolder & exitScript with administrator privileges

    display dialog "Finished Successfully!" buttons {"OK"} default button 1

end if

De manera que el script anterior es compilado en Installer.app.
En el interior puse la carpeta MyFolderName que contiene todas las fuentes.

Puedo crear un un DMG con el título (También la Ruta de acceso) My Project.
Corro Install.app desde el instalador y no funciona.
Puedo ejecutar el Installer.app desde el Escritorio (O en cualquier otro lugar en HD) y funciona.

También he cambiado el DMG título no tienen espacios MyProject y funciona.

Así que algo en el análisis de appPath en la secuencia de Comandos no funciona si contiene espacios.

Alguna idea?

1voto

user3439894 Puntos 5883

Como mencioné en mi respuesta a tu otra pregunta:

Tenga en cuenta que cuando se utiliza este en un do shell script de comandos, utilice quoted form of a permitir espacios en la ruta de acceso de nombre de archivo.

De lo contrario, tendría que escapar de los espacios con una barra invertida \, y que puede ser desordenado.


Ejemplo: quoted form of appPath

Es posible que desee hacer la concatenación por separado y, a continuación, pasar al comando.

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