2015-08-09 1 views
0

Мне нужно поместить файл в /Library/Application Support, чтобы данные, хранящиеся в нем, могли быть доступны моим приложением независимо от пользователя, который использует Mac. Поэтому я планирую создать каталог в пределах /Library/Application Support и поместить в него файл данных.Is/Library/Библиотека поддержки приложений доступна для всех пользователей?

ли корневые привилегии, необходимые для создания папки и поместите файл в этом directory.I пытался писать файл, используя

string s=System.IO.Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.Personal), "Library"); 

System.IO.File.Copy ("myfile.rtf", s + "//Application Support//kk.rtf"); 

Файл был написан successfully.Im нуб, когда дело доходит до Macintosh .. будет все пользователи смогут писать этот файл при условии, что он работал, когда я пытался.

+1

Я не могу создать файл в этой папке, поэтому я предполагаю, что нет. Почему бы не использовать/Users/Shared? – Jason

+0

@Jason Thanks.okay ... Im работает на виртуальной машине, и я предполагаю, что могут быть некоторые изменения в версии OSX im using.Is этот каталог постоянный и доступный для записи и доступный для всех пользователей без корневых предлогов? В основном я пытаюсь хранить в нем данные лицензии. – techno

+0

FYI:/Пользователи/Shared не гарантированно работают, OS-X, размещенный через корпоративную блокировку модели, не имеет/User/Shared default, а также/User/Guest и т. Д. – SushiHangover

ответ

1

/Библиотека RWX и принадлежит корню и ой другим (колесо группа)

т.е.

drwxr-xr-x+ 73 root   wheel 2482 Jul 26 11:15 Library 

Элементы в этом каталоге должны быть только:

drwxr-xr-x root wheel 

Но многие сторонние приложения нарушают, что во время их установки и флага их каталог (и subs) как «rwxrwxr-x» и помещается в группу администратора (например, Parallels) ... Это, наряду с размещением вещей в/u sr/bin и т. д. будет ломаться на «Эль Капитан» этой осенью.

Теперь «Поддержка приложений» в библиотеке «drwxr-xr-x root admin», а во время «нормальной установки» вы должны ввести пароль администратора, а установщик программного обеспечения создает под-dir там для своих собственных использование/хранение, обычно помеченное как «drwxrwxr-x root admin», поэтому все пользователи могут читать и писать там.

Теперь пользовательская «поддержка приложений» является бесплатной игрой для r/w, но это только для текущего пользователя, и изменения там не видны другим, и поэтому большинство приложений имеют локальные настройки для переопределения глобальной поддержки приложений (то же самое, что и в реестре Windows).

Итак, размещение файла лицензии для всех на этой машине для совместного использования, глобальная поддержка приложений - это путь, вам просто нужно создать каталог r/w для вашего приложения во время установки.

BTW: Размещение отдельных файлов в Application Support - это не-нет, только каталоги этого уровня, поэтому копирование чего-то вроде вашего примера «/ Library/Application Support/kk.rtf» неверно, создайте собственное приложение -directory и сохранить kk.rtf.

+0

Спасибо большое. im все еще запутался здесь. Этот каталог глобальный "/ Library/Application Support /"? Я имею в виду, если я поставил что-то там, у всех пользователей есть доступ к нему. Также как насчет ввода файла в/Users/Shared? Im только нацеливается на Mac 10.7 или выше. – techno

+0

Да, «/ Library/Application Support» - это «глобальный», rwx для root и rx для всех остальных, просто создайте поддирект для своего приложения и поместите там файл лицензии. Но вы создадите «admin» для создания первого каталога, это одна из причин, по которой установщики запрашивают доступ администратора (создайте каталог с rwx perms). Это поможет? – SushiHangover

+0

да, это помогло. Но я не понял ваши аргументы в папке Users/Shared.Эта папка не существует по умолчанию в Mac. – techno

Смежные вопросы