Конференция "WinAPI" » AppData в Windows
 
  • Тимохов Дима © (15.09.16 08:57) [0]
    Коллеги!

    1. В одном из своих проектов использую для хранения %AppData%.

    2. Пользователь прислал информацию, что у него некие проблемы с файлом, который лежит в каталоге "C:\Users\student/ISEM\AppData\Roaming\MyProgram"

    3. Пользователь не админ, а просто пользователь. Поэтому "пытать" его на предмет условий запуска нет смысла. Легче мастеров спросить)))

    4. Собственно вопрос. О чем может говорить Roaming в имени файла?
    Программа как-то хитро запускается? Или какие-то настройки Windows?

    Что такое Roaming прочел в гугле.
    Но у меня дома %AppData% соответствует "C:\Documents and Settings\UserName\Application Data", т.е. без Roaming.

    Спасибо!
  • Рамиль © (15.09.16 09:17) [1]
    Просто это не XP :)
  • iop © (15.09.16 09:24) [2]
    О чем может говорить Roaming в имени файла?

    о том, что у юзера перемещаемый плавающий по домену профиль
  • Тимохов Дима © (15.09.16 09:24) [3]

    > Рамиль ©   (15.09.16 09:17) [1]
    > Просто это не XP :)


    У пользователя выдается фраза:
    Временный файл "C:\Users\student/ISEM\AppData\Roaming\BCMaximum14IndNP\Data\2016-09-12-19-05-08-339.tbc" уже существует.


    Не могу понять, как он может существовать, если имя генериться налету.
    Меня смущает Roaming. Видно, что они запускаются под просто student. Т.е. не имеют юзера индивидуальных входов. Видимо, через этот Roaming по сети таскаются данные. Так что-ли?
  • Рамиль © (15.09.16 09:32) [4]

    > Видимо, через этот Roaming по сети таскаются данные. Так
    > что-ли?

    Могут таскаться, но необязательно. Используй папку %LOCALAPPDATA%
  • Eraser © (15.09.16 14:56) [5]

    > Тимохов Дима ©   (15.09.16 08:57) 


    > 4. Собственно вопрос. О чем может говорить Roaming в имени
    > файла?
    > Программа как-то хитро запускается? Или какие-то настройки
    > Windows?

    о том, что есть такой сайт https://msdn.microsoft.com/
  • ВладОшин © (16.09.16 08:47) [6]
    https://msdn.microsoft.com/en-us/library/windows/desktop/bb762203(v=vs.85).aspx
    поди эту функцию юзаешь
    ну и юзай, какая разница, что она вернет.. C:\Folder или Зю-марс-орбита )
  • KSergey © (16.09.16 09:21) [7]
    Удалено модератором
  • KSergey © (16.09.16 09:23) [8]
    > Тимохов Дима ©   (15.09.16 09:24) [3]
    > Не могу понять, как он может существовать, если имя генериться налету.

    "Налету" уже генерировала такое имя ранее, почему нет?
    Честно говоря не понятно, как наличие файла мешает дальнейшей работе-то собственно? или была надежда на то, что алгоритм "налету" сгенерирует точно имя отсутствующего файла? ну тогда видно, что это не так, и алгоритм надо подправить. Вроде ведь это и решит проблему?
  • Тимохов Дима © (19.09.16 10:12) [9]
    Кончилось тем, что я:

    1. Воспользовался советом уважаемого Eraser'а - и поботал MSDN. В частности, там было написано, что в случае роумина нельзя одновременно использовать одну и ту же программу с разных компьютеров из под одного и того же юзера.

    2. Вопрос таки остался.

    Исходные данные:
      а. У нас на работе этим роумингом отродясь не пользовались. Вроде он есть, но его нужно явно включать. Т.е. я лично с роумингом не встречался никогда.
      б. Наши пользователи (вузы и др. учебные заведения) очень любят пускать в классы студентов под ником student. Т.е. без индивидуальных логинов. Всегда этот подход работал без проблем, т.к. не было роуминга.
      в. В последнее время вузы обновляются/легализуются, т.е. наводят порядок.
      г. В вузах часто работают не очень квалифицированные админы. Ставят ОС, практически не настраивая политики безопасности и пр.

    Собсно вопрос. У меня есть ощущение, что в новых версиях windows роуминг работает по-умолчанию. Его явно не отключают (ленятся, не знают про роуминг или специально оставляют - не важно), но продолжают "ходить" в сеть под одним логином.
    Прав ли я, тов. связанные с администрированием, что роуминг теперь по умолчанию включен?
  • Eraser © (19.09.16 21:18) [10]

    > Тимохов Дима ©  


    > Но у меня дома %AppData% соответствует "C:\Documents and
    > Settings\UserName\Application Data", т.е. без Roaming.

    все по тому, что разработчик ПО, в частности ведущий разработчик, рассчитанного на широкие массы обязан, на мой скромный взгляд, использовать самые новые версии ОС, а не сидеть под WinXP. мгновенно выплывет куча подводных камней, о которых ранее и не подозревал. + в разных ОС UI смотрится по разному. перед глазами надо держать актуальную картину, не 15 летней давности.


    > Собсно вопрос. У меня есть ощущение, что в новых версиях
    > windows роуминг работает по-умолчанию. Его явно не отключают
    > (ленятся, не знают про роуминг или специально оставляют
    > - не важно), но продолжают "ходить" в сеть под одним логином.
    >  
    > Прав ли я, тов. связанные с администрированием, что роуминг
    > теперь по умолчанию включен?

    точного ответа я не дам. роуминг рассчитан на работу в AD, думаю включен по умолчанию. в любом случае, что даст знание того включен он или нет? у кого-то включен у кого-то нет. если раньше работало без роуминга и никто не жаловался, то я бы использовал CSIDL_LOCAL_APPDATA и забивал бы на роуминг и дальше.
  • Тимохов Дима © (20.09.16 16:00) [11]

    > Eraser ©   (19.09.16 21:18) [10]


    Суров ты))
    Есно не на XP тестировалось. Когда Vista и Win7 вышли, то скачал доку по migrating to Win7. Прошло адаптирование под UAC.
    Про roaming там было, но не обратил на него внимание, ибо отродясь этим не пользовался (на работе у нас он всегда был в сети отключен). Про роуминг неделю назад услышал первый раз. Вот такой я, необразованный.

    Сейчас спасибо, разъяснил. Буду хранить в CSIDL_LOCAL_APPDATA, а не CSIDL_APPDATA.


    > Рамиль ©   (15.09.16 09:32) [4]
    >  Используй папку %LOCALAPPDATA%


    Спасибо. Не заметил сразу твоего ответа.
  • Д7 (16.11.16 17:55) [12]
    А что случилось с GetTempFileName()?
Есть новые Нет новых   [118234   +5][b:0][p:0.001]