Лучшие практики для установщиков Windows: администратор, не администратор или оба? - PullRequest
2 голосов
/ 27 октября 2011

Одно из моих приложений имеет версию для Windows, я сделал установщик, использующий NSIS, и текущая версия устанавливается в «Program Files».

Я понимаю, что это работает, только если установщик запускается от имени администратора иэто может создавать проблемы для некоторых пользователей (корпоративных компьютеров ...).

Какая практика Windows лучше всего подходит для такого рода установщика?Заставить пользователя быть администратором?Предложить опцию для установки в другом месте?

(я парень из UNIX / Mac, поэтому не знаю Евангелия, когда речь идет о приложениях для Windows)

Вот сценарий NSIS на случай, если кто-тохочу посмотреть: https://github.com/nickbnf/glogg/blob/master/glogg.nsi

Ответы [ 3 ]

1 голос
/ 27 октября 2011

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

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

1) программа установки может функционировать не из Program Files (или в других местах на уровне компьютера).

2) Само программное обеспечение не пишет в машинные места.

3) Вы ничего не записываете в регистры всей системы (например, HKEY_LOCALMACHINE).

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

1 голос
/ 28 октября 2011

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

Рекомендуется, когда это возможно, предоставлять две версии: одну с установщиком, а другую, которая запускается без необходимости установки.Последнее известно как переносимое приложение .

(И хотя я обращаю ваше внимание: от имени корпоративных ИТ-отделов везде, пожалуйста, убедитесь, что ваш установщик включает документированный и протестированный тихий режим, чтобы мы могли установить программное обеспечение автоматически.)

1 голос
/ 27 октября 2011

Я рекомендую вам всегда устанавливать ALLUSERS = 1 для этих установок.

РЕДАКТИРОВАТЬ

Добавление Litte, так что вы сохраните бесконечное чтение msdnстатьи.ALLUSERS=1 заставляет установку быть на машину.Это обеспечивает чистоту профиля пользователя и делает программное обеспечение управляемым в корпоративной среде.Вы всегда можете установить и удалить программное обеспечение, даже если пользователь не вошел в систему.Также ALLUSERS=2 (разрешить установку для каждого пользователя) в некоторых средах удалить невозможно.

Вы можете установить свойство в таблице свойств или через командную строку:

msiexec.exe myPackage.msi ALLUSERS=1
...