powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Где лучше всего хранить настройки?
25 сообщений из 25, страница 1 из 1
Где лучше всего хранить настройки?
    #36816456
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Пишу 2 программы.
Подскажите, где лучше всего хранить файл с настройками?

Ситуация такая: есть файл настроек и есть 2 программы
1) программа-служба, запускаемая под учёткой SYSTEM
2) Windows-приложение, запускаемое под разными пользователями (смотря кто вошел в систему).
Обе программы должны иметь возможность централизованно писать и читать из файла настройки.

Хотел хранить настройки в C:\Documents and Settings\All Users\Application Data, но тогда подскажите, будут ли иметь права на запись служба, запущенная под SYSTEM и все Пользователи, вошедшие в систему?

Может еще какую папку для хранения настроек подскажете? Реестр не предлагать.

Заранее благодарен,
Михаил
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816467
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52будут ли иметь

Будут. Но тебе нажать на ней правой кнопкой мыши и на вкладке "Безопасность" увидеть всё
собственными глазами было быстрее, чем мне написать это сообщение.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816474
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно то, что я написал маленькую программу-службу, которая создает файл
C:\Documents and Settings\All Users\Application Data\1.txt и пишет в него несколько символов текста.

Служба стартанула от имени SYSTEM а в момент создания файла выдала ошибку:
"File Access Denied"

Как вы можете это объяснить? Неужели у SYSTEM нет прав на запись в папку
C:\Documents and Settings\All Users\Application Data
?
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816530
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52
Странно то, что я написал маленькую программу-службу, которая создает файл
C:\Documents and Settings\All Users\Application Data\1.txt и пишет в него несколько
символов текста.

Служба стартанула от имени SYSTEM а в момент создания файла выдала ошибку: "File Access
Denied"

Как вы можете это объяснить?

Кривыми руками, наверное. Потому что я только что установил свою программу-службу,
запустил её от имени SYSTEM и она создала файл в "C:\Documents and Settings\All
Users\Application Data\IBPReplicator\" без проблем.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816781
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52,

ОСя какая, а то в Висте и выше все сложнее?
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816813
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще в реестр
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816819
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, что-то я не так делал.
Только что проверил, SYSTEM может спокойно записывать в папку C:\Documents and Settings\All Users\Application Data

Это был тест для XP.
Если у Windows 7, Vista, Server 2003, Server 2008 тоже с этим проблем не будет, то будем считать, что папка "C:\Documents and Settings\All Users\Application Data" является отличным местом для централизованного хранения настроек.

Всем спасибо.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816889
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С0ВЕСТЬПроще в реестр

Вот только этот вариант совершенно неработоспособен. А так да, проще.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816920
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты просто не умеешь их готовить.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816934
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Проще в реестр

Вот только этот вариант совершенно неработоспособен. А так да, проще.

Dimitry Sibiryakov, подскажите для общего развития, почему запись в реестр - неработоспособный вариант? В чем могут быть проблемы при записи в реестр?
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816938
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никаких, кроме системных ключей, с которым оперирует или служба или инсталятор. Как видим и тут нет проблем, есть только отсутсвие прав. А для не системных приложений и это не проблема, если не лезть в ключ System.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816944
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
HKEY_CURRENT_USER\Software - для любого пользователя
HKEY_LOCAL_MACHINE\SOFTWARE
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816947
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52В чем могут быть проблемы при записи в реестр?

HKCU для каждого пользователя свой, а в HKLM простого пользователя не пустят.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816967
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
m52В чем могут быть проблемы при записи в реестр?

HKCU для каждого пользователя свой, а в HKLM простого пользователя не пустят.

А простому пользователю там делать нечего, там настройки для ВСЕХ, ими управляет администратор, а у него права есть.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36816968
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если каждый пользователь может ковыряться своими грязными руками там, то это ошибка дизайна, просто выбран не тот раздел.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36817014
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Podgoretsky
А простому пользователю там делать нечего, там настройки для ВСЕХ, ими управляет
администратор, а у него права есть.

А теперь перечитываем первый пост:
m52 Обе программы должны иметь возможность централизованно писать и
читать из файла настройки.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36817029
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну читаем и видим дурдом, если это про пользователей, а не про администратора.
Некий Вася Пупкин все разрушит для других
C:\Documents and Settings\All Users\Application Data, аналогично, в основном доступ только чтение для пользователей и именно по этой причине.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36817286
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как выяснилось, рано я обрадовался, когда решил, что обычные Пользователи имеют право записи в папку "C:\Documents and Settings\All Users\Application Data\NewFolder", если NewFolder создана другим пользователем, в частности SYSTEM.

А вот члены группы "Опытные Пользователи" могут записывать в чужие папки, например,
в ту же "C:\Documents and Settings\All Users\Application Data\NewFolder".


Вопрос: есть ли вообще единая папка с разрешением записи разными "Пользователями" (не Опытными) ? Или это из области фантастики?

И вообще, как часто на предприятиях пользователям ограничивают права до обычного "Пользователя" ? Ваше мнение?
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36817290
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52
И вообще, как часто на предприятиях пользователям ограничивают права до обычного
"Пользователя" ? Ваше мнение?

Если на предприятии есть сисадмин, то - всегда.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36817293
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52если NewFolder создана другим пользователем, в частности SYSTEM.

В этом случае создавший папку просто должен установить права на неё. И всем будет счастье.
RTFM MSDN.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36817312
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52
Как выяснилось, рано я обрадовался, когда решил, что обычные Пользователи имеют право записи в папку "C:\Documents and Settings\All Users\Application Data\NewFolder", если NewFolder создана другим пользователем, в частности SYSTEM.

А вот члены группы "Опытные Пользователи" могут записывать в чужие папки, например,
в ту же "C:\Documents and Settings\All Users\Application Data\NewFolder".


Вопрос: есть ли вообще единая папка с разрешением записи разными "Пользователями" (не Опытными) ? Или это из области фантастики?

И вообще, как часто на предприятиях пользователям ограничивают права до обычного "Пользователя" ? Ваше мнение?
Это вообще то норма. Собственно какая разница, если приложение не будет работать?

Инсталятор для подобных случаев должен делать необходимые права, но такие, которые не нарушают корпоративных правил.

Опытные пользователи это практически администраторы

Расчитывать на то, что это будет опытный пользователь наивно.

Других мест для всех нет. Но делаться это должно так (одинаково для реестра и папок). Настройки общие для всех пишутся в соответствующие папки/ключи и дальше от туда копируются каждому новому пользователю, у которого они хранятся в личных папках/HKCU, а там уже пользователь может их редактировать, не влияя на прочих пользователей, что соответсвует корпоративным правилам. Нельзя просто так повышать права пользователей из-за того, что то или другое приложение сделано неверно.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36817315
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
m52
И вообще, как часто на предприятиях пользователям ограничивают права до обычного
"Пользователя" ? Ваше мнение?

Если на предприятии есть сисадмин, то - всегда.

И там где нет обычно бардак, все имеют права администраторов, от туда и начинаются вирусные эпидемии. Это кстати бывает и при наличии администратора, не везде порядок.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36817322
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m52Как выяснилось, рано я обрадовался, когда решил, что обычные Пользователи имеют право записи в папку "C:\Documents and Settings\All Users\Application Data\NewFolder", если NewFolder создана другим пользователем, в частности SYSTEM.
Пользователь тут особо непричем, тут важнее наследование прав от родительской папки. Пользователь SYSTEM особый случай.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36818414
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечаю на вопрос.
Надо сделать два файла настроек. Один - админский, один - юзверьский. Последний хранится в профиле пользователя и подгружает дефолтные значения из админского, если пуст. Логика системы безопасности винды такова. Не надо давать пользователю возможность править то, что в результате "правки" повлечет общий сбой программы под другой учеткой.
...
Рейтинг: 0 / 0
Где лучше всего хранить настройки?
    #36818492
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо давать права на профиль администратора.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Где лучше всего хранить настройки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]