Разрешения на запись файла - PullRequest
       18

Разрешения на запись файла

0 голосов
/ 23 февраля 2010

У меня следующая проблема

  • У меня есть приложение для Windows
  • Вызывает удаленный веб-сервис (для аутентификации)
  • Он по очереди вызывает веб-сервис (на том же удаленном компьютере) (чтобы получить лицензионный файл)
  • Сохраняет лицензионный файл в разделе Все пользователи / Данные приложения в системе, в которой запущено приложение

Какое разрешение используется для сохранения файла в папке Application Data? Либо веб-сервис, либо пользователь Windows, вошедший в систему в данный момент?

Обновление № 1

Итак, я не могу сохранить лицензию, поскольку вызов веб-службы вызывает ошибку сохранения. Как я могу проверить права доступа к папке?

Вот код для создания моей папки

licensePath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MyApp");
            if (!Directory.Exists(licensePath))
                Directory.CreateDirectory(licensePath);

Обновление № 2

Если я пытаюсь сохранить его в самом пути приложения (в bin / debug при отладке приложения), он работает нормально. Есть идеи? Я пробовал просто "C: \ test" тоже. Это не работает.

Спасибо.

С уважением NLV

Ответы [ 2 ]

1 голос
/ 23 февраля 2010

Это сохранит файл с разрешениями пользователя, который запускает приложение Windows (которое может отличаться от пользователя, вошедшего в систему - см. RunAs).

0 голосов
/ 23 февраля 2010

Разрешение, в котором запущено приложение Windows.

...