Com relação à abordagem de imagem de disco (DMG), normalmente isso é implementado de uma maneira que torna óbvio para o usuário que ele precisa arrastar o aplicativo para a pasta / Applications. (Às vezes isso é feito com um alias pré-existente da pasta / Applications ao lado do ícone do aplicativo no DMG e, em seguida, uma imagem de plano de fundo que tem uma seta entre eles ou instruções de texto sobrepostas que explica o que fazer.) no entanto, os usuários simplesmente clicam duas vezes no aplicativo e o executam a partir da imagem do disco, o que fica confuso (e se eles ejetarem a imagem do disco? o que acontece da próxima vez que eles tentarem executar o aplicativo?)
Alexander Limi, um dos desenvolvedores do Mozilla Firefox, tem dois ótimos artigos sobre como detectar seu aplicativo OS X quando ele está sendo executado a partir da imagem de disco do instalador e depois se oferecer para copiar para a pasta / Applications.
É uma abordagem agora aceita o suficiente para gerar pelo menos uma classe de código, M3InstallController , para ativar o comportamento em seu próprio aplicativo. O desenvolvedor de outro aplicativo do OS X que usa essa abordagem também lançou o seu próprio exemplo de código .
Portanto, se você seguir a rota de uma imagem de disco com um aplicativo que precisa ser arrastado para a pasta / Aplicativos, considere a possibilidade de detectar se o usuário está executando o aplicativo a partir da imagem de disco e ofereça-se para movê-lo! Seus usuários e seu pessoal de suporte vão agradecer. :)