2013-06-06 3 views
3

Мое приложение имеет некоторые данные (файлы конфигурации, файлы с файлами и т. Д.), Которые должны быть размещены на жестком диске. Поэтому у меня есть несколько вопросов о нем:Лучшее место для хранения данных приложения

  1. , где лучшее место, чтобы сохранить его? Специальная папка внутри Документов пользователя, таких как «... Документы пользователя \ MyAppFolder» или AppData или что-то еще?
  2. Удалить или не видеть эти файлы во время удаления? Если да, то файлы будут потеряны, если пользователь захочет установить новую версию программы, да?
  3. Создайте эту папку во время установки или во время первого запуска приложения?

ответ

4

Есть три вещи, чтобы рассмотреть здесь:

  1. Какова природа данных: настройки или документы или некоторые каждого из них?
  2. Установлено ли приложение на пользователя или на машину?
  3. Должны ли данные настроек перемещаться вместе с пользователем или нет?

Иногда трудно определить характер данных. Для простоты разделите данные на две категории: настройки и документы. Они, как правило, хранятся в разных местах, как описано в The New Old Thing blog

Самое важное различие в между Мои документы и заявки данных является то, что Мои документы где пользователи хранят свои файлы, в то время как Application Data, где программы хранят свои файлы ,

Если приложение установлено на машину, то «установщик приложений» не может иметь ничего общего с пользовательскими данными. (Если в противном случае, то , данные пользователя?) Пользовательские данные должны быть созданы приложением, когда пользователь использует приложение (настройки) или пользователь через приложение (документы). Теперь, когда пользователь запускает приложение в первый раз, он может предоставить пользователю возможность управлять данными пользователя, чтобы пользователь мог очистить после удаления приложения или после того, как пользователь решил больше не использовать его.

Средством может быть запись пользователя ARP, которую приложение создает с помощью UninstallString, которая запускает что-то, что она копирует в папку AppData пользователя. Или это может быть ярлык пользователя, чтобы сделать то же самое. Или, если вы хотите что-то, что пользователь не запускает, введите запись реестра Run, чтобы запустить утилиту, которая обнаруживает, что приложение было удалено (что может быть проблемой).

Если приложение установлено для каждого пользователя, тогда «приложение» может удалить приложение, настройки и документы, но оно должно только удалить приложение.

Документы являются пользовательскими, но в зависимости от приложения, если пользователь не намерен запускать приложение снова, документы могут оказаться бесполезными. Вы должны либо оставить их, либо спросить.

Что касается настроек, как вы указываете, они были бы полезны, если пользователь будет запускать любую версию приложения в будущем. Приложение должно иметь возможность обновлять или игнорировать настройки для более новой или более старой версии.

Посмотрите эту другую статью New Old Thing post, чтобы узнать больше о данных приложения.


Таким образом, чтобы ответить на ваши вопросы:

  1. И, в зависимости от того, какие файлы.
  2. Настройки: возможно (но не может, если приложение установлено на пользователя). Документы: №
  3. Обычно приложение должно создавать данные приложения, но исключение было бы, если вы хотите, чтобы пользователи знали о местонахождении «всех пользователей» для своих документов.

только проектирование приложения и программы установки вместе производят лучший пользовательский опыт.