Невозможно создать или записать в файл как обычный пользователь - PullRequest
1 голос
/ 20 декабря 2010

Мое приложение создает файл журнала, когда оно подключается или отключается от сервера.Это хорошо работает в Win XP.

Нет проблем, когда я запускаю его с правами администратора в Vista и Win 7. Но если я запускаю его как обычный пользователь в Vista или Win7, то не удается создать файл журнала.и я знаю, что это для UAC.

Но как я могу обойти эту ситуацию, чтобы мое приложение запускалось от имени администратора.НЕОБХОДИМО ли мне добавлять какие-либо записи реестра при установке моего приложения, чтобы оно всегда работало от имени администратора.

1 Ответ

4 голосов
/ 20 декабря 2010

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

Скорее всего, вы пишете путь, которым вы не должны быть.Приложения в пользовательском режиме должны записывать только в папки текущих пользователей или в папку C:\Users\Public, а такие вещи, как журналы, должны идти в C:\Users\Current User Name\Application Data\Your Program Name\.Чтобы получить путь к ApplicationData, используйте Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).Или, если вы хотите, чтобы файл был доступен всем пользователям, используйте Environment.SpecialFolder.CommonApplicationData.

...