Есть ли у приложений, установленных в Program Files, разрешения на изменение своей папки? - PullRequest
3 голосов
/ 08 декабря 2011

Если я установлю свое приложение в программные файлы, сможет ли оно всегда создавать и записывать файлы в своем каталоге установки? Кажется, он работает во многих различных версиях Windows, но есть ли ситуации, когда это не будет работать?

В основном я использую этот подход для регистрации. Если это неправильный подход, есть ли лучшее место для входа?

Примечание. Моему установщику для запуска требуются права администратора, и он предоставляет полный доступ всем пользователям в каталоге установки.

Ответы [ 2 ]

4 голосов
/ 08 декабря 2011

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

  1. Приложение установлено с повышенными разрешениями (например, пользователь: Admin)
  2. Все разрешения для папки AppName вполне могут быть «Admin: Full, Users: Read»
  3. Пользователь запускает приложение, поэтому не может изменять файлы

Во время установки вашему установщику необходимо знать, какой из его собственных файлов необходимо сделать доступным для записи для обычных пользователей, и соответственно установить разрешения. Конечно, пользовательские данные в любом случае должны быть , а не . Для этого обычно используются% appdata% и профиль пользователя.

Если в вашем приложении есть файл globalsettings.ini или любой другой, который находится в «Program Files \ YourApp», тогда, когда у вас есть права администратора (т.е. во время установки), вам нужно предоставить разрешение на запись всем пользователям этого globalsettings.ini. файл. Или опытные пользователи. Или группа. Или все, что подходит для вашего приложения.

В итоге, нет , пользователи не имеют доступа по умолчанию к ProgFiles и не должны.

0 голосов
/ 08 декабря 2011

Да, определенно существуют ситуации, когда это не сработает, например, когда ваше приложение работает в Windows 7 или ваша учетная запись ограничена.

Мы всегда помещаем наши файлы журнала ввременный каталог или специальная папка, такая как AppData.

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