|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - Где создавать ini - в директории с главной программой или в %appdata%? |
|
Теория - Где создавать ini - в директории с главной программой или в %appdata%?
|
Пользователь Сообщения: 53 |
Профиль | Отправить PM | Цитировать Вопрос к практикующим "писателям".
Сразу оговорюсь, что программ я не пишу, языками не владею, стандартов не знаю. Итак, преамбула. Есть одна Программа (типа текстовый редактор с фенечками), один ехе-шник, настройки хранятся в реестре. Автор Программы решил вынести настройки из реестра в ini, но поместил его (этот ини) сюда: C:\Documents and Settings\[user]\Application Data\Программа Мне же кажется, что ини-шник должен лежать в директории с главной программой. Но автор упёрся на своём, и переубедить его я не могу. Посоветуйте, пожалуйста, какие доводы я бы мог привести в свою пользу? Или я всё-таки не прав? Спасибо. зы Прошу прощения, если это офтоп... |
|
Отправлено: 13:11, 20-12-2011 |
Старожил Сообщения: 295
|
Профиль | Отправить PM | Цитировать Сам задавался этим вопросом за время программирования.
Решение хранить ини (и не только ини, но и базу данных) в каталоге с программой пригодно ТОЛЬКО для программ, которые разрабатываются для таскания на флэшке или для размещения в каталоге с документами. В Program Files нужно размещать файлы программы, которые будут изменяться только по праздникам (exe, справка и.т.п). Что касается настроек. Если вы хотите, чтобы пользователь имел к ним доступ с помощью сторонних приложений, например, с помощью "Блокнота", ини-файл можно разместить в каталоге "Мои документы". Если же настройки будут меняться только самой программой - им путь в специальный каталог, являющийся подкаталогом в одном из каталогов AppData. Причём есть как общий каталог AppData, так и пользовательские. Пользовательский каталог AppData - свой для каждого пользователя Windows. Общие AppData могут меняться только пользователями с привилегиями администратора. Если вы хотите, чтобы простой пользователь мог менять общие настройки, нужно назначить на ваш подкаталог в общих AppData соответствующие права. Ещё один важный момент. Ни в коем случае не следует жёстко прописывать путь к настройкам в AppData, ибо для разных версий Windows эти пути отличаются. Не следует также искать путь к AppData в реестре - для этого есть специальная функция Windows API shGetFolderPath, которая вернёт этот путь. |
Отправлено: 17:52, 29-12-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Покинул форум Сообщения: 156
|
На мой взгляд, программа вообще не должна:
1) ставится на системный диск 2) иметь установщик (максимум что-то типа sfx архива, для удобства распаковки) 3) хранить настройки вне своей папки 4) не работать при переустановке системы |
Последний раз редактировалось vzli_izv, 31-12-2011 в 14:54. Отправлено: 14:44, 31-12-2011 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать vzli_izv, это всё хорошо выглядит ровно до тех пор, пока Вам не понадобится сопровождать приложения в корпоративной многопользовательской среде.
|
Отправлено: 16:32, 31-12-2011 | #13 |
Покинул форум Сообщения: 156
|
поясните, в чём отличие?
|
Отправлено: 19:03, 31-12-2011 | #14 |
(*.*) Сообщения: 36553
|
Профиль | Сайт | Отправить PM | Цитировать vzli_izv, на мой взгляд, вам категорически нельзя создавать программы с таким подходом
Цитата vzli_izv:
1. Программа должна быть вместе с системой. 2. Установщик должен проверять права администратора с помощью запроса UAC. 3. Настройки должны храниться в профиле, чтобы у каждого пользователя они были своими. 4. Это зависит исключительно от того, требуется ли программе регистрация компонентов/библиотек. Я не говорю, что всем программам необходимы все эти пункты. Мелким утилитам они вряд ли нужны. Но если вы беретесь за прикладное ПО, то нужно следовать рекомендациям Майкрософт. |
|
------- Отправлено: 12:53, 01-01-2012 | #15 |
Покинул форум Сообщения: 156
|
Цитата Vadikan:
А вот перенос самой папки Program Files тоже считаю бе3смысленным. Цитата Vadikan:
Цитата Vadikan:
Цитата Vadikan:
Цитата Vadikan:
И ладно бы была возможность изменять всё под себя простыми способами, но нет. Пока программисты не поймут, что операционная система должна быть модульного типа (например как FireFox и дополнения к нему) не видать нам качественного продукта. В идеале ОС должна ставить минимально необходимое и давать простые возможности в установке плагинов её расширяющих. Скачал dll > установил > получил нужные функции. Тот, кто первый поймёт данную технологию и её реализует, утрёт нос всем ОС современности. Андройд в этом плане максимально приблизился к идеалу, от того и такая бешенная популярность. Для корректировке моих ответов прошу их рассматривать от частного лица, а не сисадмина, корпорации, многопользовательской среды или сетки с 100 ПК. Частному лицу надо проще, быстрее и желательно под полный контроль. |
|||||
Отправлено: 23:40, 01-01-2012 | #16 |
(*.*) Сообщения: 36553
|
Профиль | Сайт | Отправить PM | Цитировать vzli_izv, принципы, которые я описал, не имеют отношения к корпоративной среде.
Они относятся к: 1. Многопользовательской модели Windows. Я могу привести вам 7 причин использовать отдельные учетные записи для каждого члена семьи. 2. Модели безопасности Windows. Oдним из фундаментальных ee принципов являются уровни целостности. Это я к вопросу о проверке прав администратора для установки программы. Сей тезис явно намекает на то, что не у всех пользователей компьютера должны быть полные права, опять же из соображений безопасности и стабильности работы ОС. То, что вы пишете (в форуме и в коде), подразумевает "XP и пользователя с правами админа, с чьей учетной записью работают все члены семьи". Вы отстали на 5 с лишним лет, ибо Vista вышла еще в 2006 году. Вы пишете код для себя, отторгая изменения в технологиях и обосновывая это неприемлемостью для себя. А нужно писать для людей... |
------- Отправлено: 02:11, 02-01-2012 | #17 |
Покинул форум Сообщения: 156
|
а я согласен с написанным на все 100%.
На данный момент всё так и есть и это правильно. Но знаете почему правильно на данный момент? Потому, что других вариантов нету! Вот 4х местная машина. Она для семьи. Есть двухместные. Есть мини, есть универсал. Чувствуете? Вы не покупаете гараж со всеми машинами по умолчанию. Есть задача - есть предложение. Windows предлагает сразу сесть на машину, которая размером с фуру + без надобности устанавливает прицеп, без возможности его отцепить. Причём фура как из анекдота - "Доработать напильником". И да, при каждом переключении скорости ты должен спросить разрешение на действие. Залезть под капот? Нееет. Система безопасности внутренних агрегатов и узлов под напряжением. Резиновые перчатки дают видимость доступа, но это "какбэ нитак". Хочется повесить ароматизатор "Йолочка" иль GPS навигатор? Только на станции тех обслуживания. Но это фсё флуд. Пока ОС делают люди без идей и фантазии, мы будет за ними пытаться доделать. Это ж надо - 2012 год, а Проводник Windows до сих пор без вкладок (как у браузеров). Благодарю тех людей, которые создают программы, для возможности минимально приблизить интерфейс к более менее приятному в использовании. |
Отправлено: 06:08, 02-01-2012 | #18 |
Старожил Сообщения: 295
|
Профиль | Отправить PM | Цитировать Цитата vzli_izv:
Цитата vzli_izv:
Кстати, реализовать работу с драйверами устройств мешает модель безопасности системы, которая закрывает пользователю доступ к руту. |
||
Последний раз редактировалось Любезный, 02-01-2012 в 09:47. Отправлено: 09:37, 02-01-2012 | #19 |
(*.*) Сообщения: 36553
|
Профиль | Сайт | Отправить PM | Цитировать Цитата vzli_izv:
Обратите внимание, что это диалог с дополнительными настройками, а флажки и радиокнопки отражают стандартные параметры установки. |
|
------- Отправлено: 12:39, 02-01-2012 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интерфейс - После переустановки винды,папки главной директории стали другие? | andrusha0 | Microsoft Windows 2000/XP | 1 | 30-05-2011 07:29 | |
2008 - [решено] Где а какую группу лучше создавать! | Yohan777 | Windows Server 2008/2008 R2 | 5 | 28-06-2010 12:28 | |
Разное - [решено] нужно ли создавать диск восстановления или достаточно установочного диска? | forkatt | Microsoft Windows 7 | 1 | 11-11-2009 10:05 | |
[решено] Посоветуйте какой программой создавать SFX архивы | rushen | Хочу все знать | 9 | 10-05-2009 14:45 | |
Разное - Где в Visual Studio 2008 создавать EXEшник из Приложения Windows Forms? | Большой Кол | Программирование и базы данных | 4 | 09-03-2009 03:38 |
|