Вход на сайт
...\Local Settings\...
352
NEW 01.03.10 19:26
Всем привет!
Дано: Винда XP, Visual Studio, .net, программка на С-шарпе
В ходе выполнения программы, требуется доступ к файлам находящимся в директориях
...{username}\Local Settings\Temp\...
и
...{username}\Local Settings\Application Data\... пользователя под под чьим профилем запущена эта программка.
для первого случая использую Path.GetTempPath() http://msdn.microsoft.com/de-de/library/system.io.path.gettemppath.aspx
во втором Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) http://msdn.microsoft.com/de-de/library/system.environment.specialfolder.aspx
Вопросы:
1. Будет ли это работать под седьмой виндой? как я понимаю это ведь функции от дот.нет
2. Насколько это нормально использывать эти директории для сохранения "ini" файлов с установками программы?
3. Или лучще всетаки возиться с записью/чтением данных в registry? (что еще не до конца имплеметированно и протестированно в отличии от чтения/записи файлов)
пс: изначально все установки записывались в файлы в том директории где установлена сама программа ...\Program Files\... что всетаки привело к проблеммам под вистой и семеркой когда юзер не админ... если кому интересно предистория тут: foren.germany.ru/arch/programmer/f/14098736.html?Cat=&page=&view=&sb=&vc=...
Дано: Винда XP, Visual Studio, .net, программка на С-шарпе
В ходе выполнения программы, требуется доступ к файлам находящимся в директориях
...{username}\Local Settings\Temp\...
и
...{username}\Local Settings\Application Data\... пользователя под под чьим профилем запущена эта программка.
для первого случая использую Path.GetTempPath() http://msdn.microsoft.com/de-de/library/system.io.path.gettemppath.aspx
во втором Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) http://msdn.microsoft.com/de-de/library/system.environment.specialfolder.aspx
Вопросы:
1. Будет ли это работать под седьмой виндой? как я понимаю это ведь функции от дот.нет
2. Насколько это нормально использывать эти директории для сохранения "ini" файлов с установками программы?
3. Или лучще всетаки возиться с записью/чтением данных в registry? (что еще не до конца имплеметированно и протестированно в отличии от чтения/записи файлов)
пс: изначально все установки записывались в файлы в том директории где установлена сама программа ...\Program Files\... что всетаки привело к проблеммам под вистой и семеркой когда юзер не админ... если кому интересно предистория тут: foren.germany.ru/arch/programmer/f/14098736.html?Cat=&page=&view=&sb=&vc=...
все что вы сделаете в интернете может быть использовано против вас!
NEW 01.03.10 20:00
в ответ viger2 01.03.10 19:26
В ответ на:
1. Будет ли это работать под седьмой виндой? как я понимаю это ведь функции от дот.нет
Работать будет.1. Будет ли это работать под седьмой виндой? как я понимаю это ведь функции от дот.нет
В ответ на:
2. Насколько это нормально использывать эти директории для сохранения "ini" файлов с установками программы?
Нормально, но Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) вернет путь к "..{username}\Application Data\...", а не к "..{username}\Local Settings\Application Data\..." (Для этого служит Environment.SpecialFolder.LocalApplicationData). Разница в между этими папками в том, что в первом случае папка будет сохранена на сервере, если профиль пользователя объявлен как "Roaming", ну и во втором случае данные вне зависимости от типа профиля буду хранится только локально.2. Насколько это нормально использывать эти директории для сохранения "ini" файлов с установками программы?
В ответ на:
3. Или лучше всетаки возиться с записью/чтением данных в registry?
ИМХО, registry лучше и вроде возиться с чтением/записью в .net нет нужды (могу ошибаться).3. Или лучше всетаки возиться с записью/чтением данных в registry?
01.03.10 22:28
сегодня немного тестирововал и все вроде нормально работало "локально" т.е. на физическом диске... завтра попробую как это все действует в сети...
Спасибо за совет!
в ответ megabyte 01.03.10 20:00
В ответ на:
но Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) вернет путь к "..{username}\Application Data\...", а не к "..{username}\Local Settings\Application Data\..." (Для этого служит Environment.SpecialFolder.LocalApplicationData). Разница в между этими папками в том, что в первом случае папка будет сохранена на сервере, если профиль пользователя объявлен как "Roaming"
но Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) вернет путь к "..{username}\Application Data\...", а не к "..{username}\Local Settings\Application Data\..." (Для этого служит Environment.SpecialFolder.LocalApplicationData). Разница в между этими папками в том, что в первом случае папка будет сохранена на сервере, если профиль пользователя объявлен как "Roaming"
сегодня немного тестирововал и все вроде нормально работало "локально" т.е. на физическом диске... завтра попробую как это все действует в сети...
Спасибо за совет!

все что вы сделаете в интернете может быть использовано против вас!
NEW 01.03.10 22:38
да действительно, я в прошлый раз как раз на эти грабли тоже наступал, т.к. неисключается что на машине могут быть установлены и старая и новая версия программы. Пришлось тупо переименовывать разветвлять начальные ветки в registry.
в ответ Murr_0005 01.03.10 22:27
В ответ на:
В другой папке - к другой копии/версии программы.
В Регистре же это надо еще организовывать - место то одно...
В другой папке - к другой копии/версии программы.
В Регистре же это надо еще организовывать - место то одно...
да действительно, я в прошлый раз как раз на эти грабли тоже наступал, т.к. неисключается что на машине могут быть установлены и старая и новая версия программы. Пришлось тупо переименовывать разветвлять начальные ветки в registry.
все что вы сделаете в интернете может быть использовано против вас!
NEW 02.03.10 01:35
Не скажи. Настройки из профайла куда проще переносить. Например Мозилловские поделки - путь к профайлу прописал после реинсталяции, и готово!
в ответ digital.pilot 01.03.10 22:32
В ответ на:
данном случае ini не в папке программы, а в профайле, так что ситуация сравнимая с реестром
данном случае ini не в папке программы, а в профайле, так что ситуация сравнимая с реестром
Не скажи. Настройки из профайла куда проще переносить. Например Мозилловские поделки - путь к профайлу прописал после реинсталяции, и готово!
NEW 02.03.10 09:38
Администратор :)
А на домашних машинах - здравый смысл :) (например я содал себе и жене профили с ограниченными правами :) )
В ответ на:
Кто тебе мешает запустить что нужно под админом или получить привелегии?
Кто тебе мешает запустить что нужно под админом или получить привелегии?
Администратор :)
А на домашних машинах - здравый смысл :) (например я содал себе и жене профили с ограниченными правами :) )