Пользовательский установщик Mac перезаписывает/библиотека/файл поддержки приложения

Мой установщик помещает файл в папку /Library/Application Support/AppName. В качестве последнего шага процесса установки в пользовательском плагине установщика (код Objective-C) я проверяю наличие более новой версии этого файла. Если он существует, я загружаю его, а затем пытаюсь перезаписать файл, созданный установщиком. Проблема в том, что у меня, по-видимому, нет разрешения на перезапись. Разве подключаемый модуль установщика, который является частью установщика, не должен иметь разрешение на перезапись этого файла, поскольку пользователю уже было предложено ввести пароль администратора?

Любые идеи о том, как я могу писать в каталог /Library/Application Support/AppName из моего плагина установщика?


person Matt Long    schedule 09.10.2009    source источник


Ответы (1)


Я считаю, что Installer фактически использует привилегированный вспомогательный инструмент для выполнения установки. Само приложение Installer не имеет прав администратора, поэтому ваш плагин не имеет прав администратора.

Документация Apple объясняет один из способов обработки привилегированной установки, хотя BetterAuthorizationSample является "лучшим" способом сделать это.

К сожалению, обработка привилегированных операций довольно сложна, и вам следует изучить и понять пример кода и документацию по службам авторизации, прежде чем что-либо внедрять.

person Rob Keniger    schedule 10.10.2009
comment
Хороший. Очень полезно. Спасибо. - person Matt Long; 12.10.2009