Совместное использование данных приложения для чтения / записи (на диске) между пользователями в Windows - PullRequest
1 голос
/ 09 октября 2011

Я портирую игру на Windows и удивляюсь, как, например, данные рекордов должны храниться, чтобы все пользователи в одной системе могли обмениваться данными.В идеале данные не должны быть доступны для записи самим пользователям, а только приложению (в данном случае игре), владеющему данными.Помимо чисто технических деталей, мне также хотелось бы узнать о передовом опыте.

В Unix этого можно достичь, установив бит set-UID в исполняемом файле, и пусть исполняемый файл и рассматриваемый общий файл принадлежат одной и той же системе.-пользователь (игры в моем случае).Также рекомендуется размещать такие файлы в /var/lib/games.

.

1 Ответ

0 голосов
/ 09 октября 2011

Во-первых, что вы не можете сделать:

  1. Вы не можете позволить некоторому исполняемому файлу изменить какое-либо значение, но не позволяете пользователю, выполняющему его, сделать это.
  2. Вы можетене запускать какой-либо исполняемый файл под определенной учетной записью, если только вы не используете какой-либо загрузчик (другой исполняемый файл), который гарантирует, что.
  3. Вы не можете использовать реестр для хранения общих данных, если ваши пользователи не работаюткак администраторы (что не должно быть опцией).

Теперь, что вы можете сделать:

  1. Использовать базу данных ...
  2. ИспользоватьПапка ProgramData («Все пользователи» в XP).
  3. Используйте некоторый загрузчик, чтобы приложение работало под одним и тем же пользователем, что открывает реестр этого пользователя и папку AppData (плохая идея - просто упомянуть, насколько это технически возможно)).

Если № 1 невозможен, я бы пошел на № 2.

Хорошее прочтение на эту тему: Где хранить свои данные и конфигурациюФайлы, если я нацеливаюсь на несколько версий ОС?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...