Я создаю приложение AIR, в котором некоторые функции зависят от переименования исполняемого файла приложения в файловой системе и определения имени, которое исполняемый файл имеет при запуске. Мне не нужно обнаруживать изменения во время работы приложения, если это имеет какое-то значение, и мне не нужен путь или расширение - только имя.
Если исполняемый файл был единственным элементом в его папке, я мог бы получить каталог приложений из класса File и перейти оттуда. Но было бы идеально иметь решение, в котором может быть несколько копий этого исполняемого файла AIR в папке, каждая из которых переименована в нечто уникальное.
Я посмотрел на класс NativeApplication, класс System, класс File и любой другой класс, который, похоже, связан с этой проблемой, безрезультатно. Самое близкое, что я получил, - это получение имени файла из XML-кода дескриптора приложения, но оно отражает только имя по умолчанию, которое дается приложению при публикации.
Итак, как я могу получить точное текущее имя файла приложения AIR при запуске?
РЕДАКТИРОВАТЬ: точнее говоря, на Mac этот исполняемый файл будет .app-файл, а в Windows это будет .exe-файл.
EDIT2: loaderInfo.url не будет работать - он дает имя SWF-файла, работающего в приложении AIR, а не имя содержащего приложения / exe AIR. Если вы работаете на Mac, вы можете увидеть этот SWF-файл, открыв содержимое пакета приложения AIR и заглянув в папку «Ресурсы».