создать уникальный каталог данных приложения для каждого экземпляра приложения - PullRequest
0 голосов
/ 08 июля 2011

Я написал приложение ac #, которое устанавливается как много экземпляров в разных каталогах, определенных пользователем.например,

C:\Program Files(x86)\MyApp1
C:\Program Files(x86)\MyApp2
C:\MyApp1
C:\MyApp2
...

Я хочу записать / прочитать файлы данных в отдельных каталогах, по одному для каждого из этих экземпляров, по адресу Environment.SpecialFolder.LocalApplicationData.

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

C:\Program Files(x86)\MyApp1\app.exe to reference unique app dir C:\Users\xxxx\AppData\Local\MyApp1\

Ответы [ 3 ]

1 голос
/ 08 июля 2011

Если вы используете эти данные только из своего приложения и для каждого пользователя должны быть доступны разные данные, вы можете взглянуть на IsolatedStorage, он позволяет вам абстрагироваться от реального местоположения данных и вы можете легко сохранять / извлекать данные .

тот факт, что вы устанавливаете одно и то же приложение в разные папки и под разными именами, это как минимум указание на то, чего я сейчас не могу понять, но в конце вы должны разработать его так, чтобы каждый экземпляр работал изолированные, как если бы это были действительно разные приложения (например, word, excel, notepad ...), означающие не жестко закодированные пути:)

1 голос
/ 08 июля 2011

Есть несколько способов удовлетворить ваш запрос.Вот несколько возможных решений вашей проблемы: 1.

string sPath = System.Environment.GetFolderPath(     Environment.SpecialFolder.CommonApplicationData) 
       + Path.DirectorySeparatorChar + APP_NAME + Path.DirectorySeparatorChar`

, где APP_NAME - ваше имя сборки.Этот код окажется в папке * ... AllUsers \ Application Data \ APP_NAME *.

  1. Использовать IsoltaedStorage

, но вы ограничены в пространствеусловия ..

1 голос
/ 08 июля 2011

Вы можете добавить уникальное значение в конец пути: C: \ Users \ xxxx \ AppData \ Local \ MyApp \ ghfdsjgb23

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

...