Предоставление полного доступа к каталогу для пользователей без прав администратора в Windows 7 - PullRequest
3 голосов
/ 26 июля 2011

Я работаю над программным обеспечением, написанным на C # и для .NET Framework 3.5.Установщик программного обеспечения создается с помощью «Setup and Deployment> Setup Project» из Visual Studio 2008. Первоначально программное обеспечение было написано для Windows XP.Теперь мне нужно изменить его так, чтобы он также работал в Windows 7.

В Windows 7 для установки программного обеспечения требуются права администратора.Таким образом, администратор становится владельцем каталога установки, созданного во время установки.Программное обеспечение будет использоваться пользователями без прав администратора, которые по умолчанию имеют доступ только для чтения и выполнения каталога установки.Но программное обеспечение разработано таким образом, что оно может записывать в каталог установки.В каталоге установки находится файл конфигурации startup.ini, который не-администраторы должны иметь возможность изменять, чтобы изменить поведение программного обеспечения.

Если программное обеспечение запускается из учетной записи не-администратора, оно можетне пишите в каталог установки.Кроме того, не администраторы не могут изменять файл startup.ini.

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

Я хочу, чтобы это было сделано автоматически после установки.Каким-то образом установщик должен позаботиться о разрешении.Как я могу это сделать?Обратите внимание, что я не могу изменить поведение программного обеспечения, поэтому оно больше не записывает в каталог установки.Не администраторы должны получить необходимые привилегии, чтобы иметь право на изменение и запись.

Я использую Windows XP SP3 для разработки.Все операционные системы (XP и 7) являются 32-разрядными.

Заранее спасибо.

Ответы [ 2 ]

5 голосов
/ 26 июля 2011

Вы должны изменить приложение так, чтобы оно сохраняло свой INI-файл в месте, которое могут писать обычные пользователи - см. http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/77aaf6e1-8de5-4529-9b26-fa89b55fcc49

РЕДАКТИРОВАТЬ:Если это абсолютно невозможно, тогда: создайте «настраиваемое действие» в проекте установки и измените разрешения ... хорошая отправная точка -

http://www.redmondpie.com/applying-permissions-on-any-windows-folder-using-c/а такжеhttp://msdn.microsoft.com/en-us/library/system.security.accesscontrol.filesystemsecurity.addaccessrule.aspx

4 голосов
/ 26 июля 2011

Кстати, ваша программа не работает и в Windows XP. XP также требует прав администратора для установки таким образом или записи в папки Program Files. Разница в том, что в XP у многих людей по умолчанию есть администратор.

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

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