2008-11-18 14 views
1

У меня есть небольшая программа, которая установлена ​​в пользовательской папке в файлах программы, но когда я пытался читать или записывать файлы, которые необходимы для работы, программа поднимает Access Отказано в освобождении. Как я могу повысить программу, конечно, с разрешения пользователя.Доступ запрещен при чтении/записи в программу FIles

ответ

1

Я предполагаю, что вы работаете под Vista? В Vista я не думаю, что вам разрешено читать/записывать файлы в Program Files, вы должны поместить свои файлы данных в «Документы и настройки».

+0

Нет, это в XP, но я намерен запустить его в Vista, тоже – 2008-11-18 09:00:17

0

Вы можете сделать все, что вам нужно, используя API ClickOnce. Если у вас несколько частей (например, несколько EXE), вам необходимо включить их в свой пакет.

Единственный сценарий, который не поддерживается (ClickOnce), насколько я знаю, является аутентификацией прокси.

0

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

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

1

Чтобы устранить исключение, запрещенное доступом при чтении. Пожалуйста, укажите доступ к файлам как для чтения, который разрешит Access Denied исключение при не чтение

e.g. fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);