Доступ запрещен при обновлении файла конфигурации в каталоге ProgramData. Как это исправить? - PullRequest
0 голосов
/ 18 сентября 2010

Не получается обновить файл конфигурации в каталоге c: \ ProgramData \ appname \ config.ini. Я продолжаю получать сообщение об отказе в доступе. Похоже, что INI-код не может удалить существующий INI-файл при попытке обновить его новым файлом. Забавно то, что у меня есть другие программы, которые я написал, которые используют тот же код, но у меня нет этой проблемы. Это беспокоит.

Сравнивая мою рабочую программу с этой неработающей программой, я заметил, что когда я нажимаю на вкладку безопасности для INI-файла, я вижу, что мое имя пользователя [Скотт] не указано в разделе «Группа или Имена пользователей», как в рабочей INI-файл программы. Кроме того, у нерабочего есть экран рядом с «Удалить и переименовать» (при щелчке правой кнопкой мыши на имени файла), в то время как у рабочего нет этого. Как я могу установить разрешения? Файл установки для обоих проектов идентичен, и когда я создаю папку и копирую файл программы в программе установки Isso, разрешения не устанавливаются (флаг только для чтения не установлен, скрытый не установлен и система не установлена).

Почему я получаю это и как получается, что моя другая программа устанавливается и работает нормально? Установщик запускается от имени администратора и запрашивает права доступа. Что мне нужно сделать?

1 Ответ

1 голос
/ 18 сентября 2010

Это потому, что ваша программа не была запущена от имени администратора. Вы должны либо запустить вашу программу от имени администратора, либо переместить ваш файл .ini и любые другие файлы, которые вы хотите обновить в течение срока действия программы, в такое место, как C: \ Users \\ AppData \ Local \. Обратите внимание, что для последнего варианта вам также необходимо обновить программу.
Чтобы запустить вашу программу от имени администратора, щелкните правой кнопкой мыши по программе (или ярлыку) и выберите Запуск от имени администратора .

...