Наши приложения win32 (написанные на C++) существуют уже более 10 лет и не обновлены, чтобы отслеживать «хорошие практики» с точки зрения хранения файлов. Приложение по умолчанию устанавливается в папку «C: \ AppName» и сохраняет файлы приложения, файлы конфигурации, загруженные файлы и сохраненные пользовательские документы в подпапках этой папки.Где моя программа win32 будет хранить свои файлы?
Предположительно, это «лучшие практики» по умолчанию для установки под «c: \ Program Files \ AppName» в настоящее время. Но если мы это сделаем, где мы должны хранить остальные наши файлы? Начиная с Vista, запись в папку программных файлов проблематична, и, похоже, миллион других мест, которые вы можете поместить в разные файлы, и я в замешательстве.
Есть ли ссылка где-то где идет?
Edit: Для того, чтобы расширить на вопросы, которые люди спрашивали до сих пор:
Я знаком с функцией SHGetFolderPath, но есть много и много вариантов, которые вы можете получить от он, и я не могу найти ресурс, в котором говорится: «Вот для чего каждый из этих параметров используется, и когда вы захотите его использовать».
До сих пор мы делали «Все файлы, в том числе сохраненные пользовательские файлы под одной папкой», и все было хорошо, но не тогда, когда люди хотят установить приложение в папке Program Files. По какой-то причине, обезвреживание виртуализации вокруг этой Vista не работает для нашего приложения; если мы все равно будем вносить изменения, мы могли бы также приложить усилия, чтобы сделать что-то «правильным», так как мы не хотим менять его снова через 12 месяцев.
Далее вопрос:
Мы включили некоторые "образцы" документов с нашим приложением, которые мы обновляем и теперь каждый раз. Уместно ли устанавливать их в Мои документы, если мы будем их переписывать каждые несколько месяцев? Или Мои Документы считаются абсолютно безопасными для пользователей, чтобы возиться?
Если мы не можем установить их в Мои документы, куда их следует поместить, чтобы пользователи могли легко их видеть?
Это не просто перспектива: я подозреваю, что если вы протестируете свое приложение в XP, работающем как пользовательский_стандарт_, у вас будут те же проблемы с установкой существующей настройки в папку программных файлов. –