Разрешить права доступа для записи в программных файлах Windows 7 - PullRequest
52 голосов
/ 03 июня 2009

Мое приложение выдает ошибки «Отказано в доступе» при записи временных файлов в каталог установки, где находится исполняемый файл. Однако это прекрасно работает в Windows XP. Как предоставить права доступа к папке Program Files в Windows 7?

EDIT: Как заставить программу попросить пользователя повысить права? (т.е. запустить программу с полными правами администратора)

Ответы [ 14 ]

1 голос
/ 01 февраля 2012

Если у вас есть такая программа, просто установите ее в C:\, а не в Program Files. У меня было много проблем при установке Android SDK. Моя проблема была решена путем установки в C:\.

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

Я думаю, что есть альтернативное решение всех этих проблем .... Сделать двухуровневое приложение. Как сказано выше ...

1) Средство запуска, которое запустит другое Основное приложение, используя код, такой как (VB)

Call ShellExecute(hwnd, "runas", App.Path & "\MainApp.exe", 0, 0, vbNormalFocus)

2) Основное приложение, которое пишет в защищенные области, то есть в папку Program Files

Я успешно попробовал это с Windows 7

Я также разрабатываю приложение, которое имеет функцию онлайн-обновления. Но это не работает в Vista / W7 ..

Я согласен с другими людьми в отношении политик и стандартных практик Microsoft.

Но мой вопрос ... 1) Как применить обновление к существующему приложению, которое, вероятно, всегда остается в папке Program Files. 2) Может быть какой-то способ сделать это, иначе как работают goolge Updater, Antivirus Updater или любое программное обновление?

Мне нужен ответ на мои вопросы .....: o

Prof. Раджендра Хопе (MIT, Пуна, Индия)

0 голосов
/ 20 июля 2013

Я работаю над программой, которая правильно сохраняет свои данные в% APPDATA%, но иногда существуют общесистемные настройки, которые влияют на всех пользователей. Таким образом, в этих ситуациях он ДОЛЖЕН записывать в каталог установки программ.

И, насколько я сейчас читал, невозможно временно получить доступ для записи в один каталог. Вы можете запустить приложение целиком только как администратор (о чем не может быть и речи) или не сможете сохранить этот файл. (все или ничего)

Полагаю, я просто напишу файл в% APPDATA% и запусту внешнюю программу, которая копирует файл в папку установки и имеет ЭТУ программу, требующую прав администратора ... глупая идея, но, похоже, единственное практическое решение ...

0 голосов
/ 16 февраля 2011

Было бы лучше создать папку с именем "c: \ Programs writable \" и поместить ваше приложение под эту папку. Таким образом можно избежать джунглей низких c-папок.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...