В OS X как бы вы узнали, является ли приложение переносимым или установленным?

281
user479294

В OS X Yosemite, как узнать, является ли приложение переносимым приложением (без инсталляторов, просто запустите его) по сравнению с приложением, которое было установлено?

3
Этот вопрос, вероятно, лучше подходит для Задать вопрос другому Quill 8 лет назад 1

3 ответа на вопрос

2
Greenonline

Это довольно сложно выяснить, просто изучив бинарный файл приложения.

Самый надежный способ проверить это - установить другую копию OS X в другой раздел, загрузиться в эту ОС и попробовать запустить приложение оттуда. Вот как я это делаю. Если он стонет «это приложение не было правильно установлено», как VMWare, то вы будете знать.

Это связано с тем, что в новой ОС не будет никаких дополнительных драйверов и других gubbins, которые установщик установит в системную папку.

На первый взгляд, это может показаться весьма экстремальным способом выяснить, является ли приложение переносимым или нет. Тем не менее, это не слишком сложно, и требуется только небольшой раздел, так как он нужен только для установки минимальной ОС на. Вы не собираетесь устанавливать какие-либо приложения на него, поскольку это только для целей тестирования.

Вы также можете использовать внешний жесткий диск, если не хотите связываться с установочным диском.

1
Sourec

Лучший способ - проверить документацию или сайт, с которого вы его скачали, но часто бывает трудно сказать. Я видел приложения, которые устанавливаются, просто перетаскивая их в папку приложений (если я правильно помню, если вы вошли в систему как администратор, он не запрашивает ваш пароль, но это было несколько версий назад), но они все еще оставить вещи позади.

Если вам действительно нужно знать, попробуйте проверить различные временные папки (например, поддержку библиотеки / приложения), другие другие папки хранения пользовательских данных для папок, связанных с приложением. Если вы найдете что-то, оно ... вероятно, не совсем портативное. Зависит от содержимого - с журналами все в порядке, но хранение данных для других целей - плохой признак. В худшем случае попробуйте перенести приложение на другой компьютер и посмотреть, нормально ли оно работает. Если нет, то он не очень портативный.

1
Matthew Sanabria

С приложениями в OS X обращаются иначе, чем с приложениями, которые вы обычно используете в среде Windows. В приложениях в OS X нет такого «переносимого» или «установленного» тега. Приложения в OS X поставляются в пакете «MyApp.app». Этот пакет «.app» содержит все необходимые компоненты, необходимые для запуска приложения. Представьте, что пакет «.app» является своего рода песочницей для каждого отдельного приложения, предотвращая взаимодействие приложений друг с другом.

Когда вы загружаете приложение для OS X, оно обычно поставляется в двух форматах.

  1. Файл .dmg, содержащий пакет .app, который необходимо скопировать в папку «Приложения».
  2. Файл .dmg, содержащий пакет .pkg, который должен быть «установлен».

Обычно, когда вы копируете пакет .app прямо в папку «Приложения», требуется проверка подлинности. Это потому, что он должен записывать в каталог, который не может быть записан текущим пользователем. Когда вы запускаете установщик .pkg, он копирует .app в вашу папку «Приложения», а также может загружать дополнительные файлы, которые будут находиться за пределами вашего пакета .app. Когда вы копируете файл .app в папку «Приложения», и он не требует аутентификации, это означает, что этот конкретный .app не записывал во внешние каталоги, в которые ваш текущий пользователь не может писать с аутентификацией.

По сути, если у вас есть файл .app, вы можете запускать это конкретное приложение со своего жесткого диска, USB или другого хранилища и рассматривать его как «переносимый». Помните, что использование приложения таким образом может привести к локальной записи данных на жесткий диск, обычно в папке ~ / Library пользователя, запустившего приложение.

TL; DR Приложения поставляются в файле .app или .pkg. Приложения .app обычно самодостаточны и похожи на «портативные» приложения. Приложения .pkg «устанавливают» пакет .app с некоторыми другими зависимостями, которые не являются автономными.