Я только заметил, что Chromium был установлен в AppData как в Vista, так и в XP. Если Google это делает, и если другие приложения делают это, это связано с тем, что существует некоторая форма защиты? Должны ли мы писать установщики, которые делают то же самое, что и Google?
Каковы преимущества установки программ в AppData, например Google Chrome?
Ответ 1
В Windows по-прежнему отсутствует соглашение для установки для каждого пользователя.
- Когда установщик спрашивает, следует ли устанавливать для текущего пользователя или всех пользователей, он действительно относится только к размещению ярлыков (меню "Пуск", "Рабочий стол" ). Фактические файлы приложений по-прежнему входят в общесистемный
%PROGRAMFILES%
. - Собственный ClickOnce от Microsoft работает вокруг этого, создавая полностью нестандартную директорию
%USERPROFILE%\Local Settings\Apps
(%USERPROFILE%\AppData\Roaming
в Vista/Server 2008), где есть как файлы программ, так и данные конфигурации.
(Я в недоумении, почему Microsoft не могла добавить каталог файлов для каждого пользователя в Vista. Например, в OS X вы можете создать ~/Applications
, и Finder предоставит ему соответствующий значок Приложения, такие как CrossOver и Adobe AIR, автоматически используют это, по умолчанию для приложений для каждого пользователя. Таким образом, никаких разрешений не возникает.)
Что вы, вероятно, должны делать: если пользователь не является администратором, установите его в каталог пользователя; если они это сделают, дайте им оба варианта.
Ответ 2
Одно из преимуществ, о которых никто не упоминал, - это автоматические обновления. У Chrome есть процесс обновления, который работает все время и немедленно обновляет хромированную установку.
Я думаю, что их прецедент нестандартен. Им нужен способ исправить проблемы с уязвимостью (так как это браузер) как можно скорее. Ожидание админов, одобряющих каждое обновление по всей компании, просто недостаточно.
Ответ 3
Насколько я могу судить, единственная причина, по которой Chrome устанавливается в папку Application Data, заключается в том, что пользователи, не являющиеся администраторами, могут ее установить.
В настоящее время установщик Chrome не позволяет пользователю выбирать, где приложение должно быть установлено. Не делайте этого - вместо этого дайте пользователю выбор между пользовательским (где-то вроде App Data) и общесистемной (Program Files) установкой.
Ответ 4
Windows 7 и Windows Installer 5.0 теперь предоставляют реальные возможности для установки на пользователя.
http://msdn.microsoft.com/en-us/library/dd408068%28VS.85%29.aspx
Вы можете сортировать его в Vista и XP с помощью ~/AppData/Local или эквивалента, такого как Chrome. Microsoft сами используют это для установщиков ClickOnce.
Так что по крайней мере на Windows 7 и за ее пределами простое решение.
Ответ 5
Откровенно говоря, мне еще предстоит увидеть первый установщик, который действительно позволяет устанавливать как для каждого пользователя, так и для каждой машины. Многие инсталляторы предлагают эту опцию в своем графическом интерфейсе, но параметр влияет только на то, где находятся ярлыки и т.д. - двоичные файлы всегда для% ProgramFiles%.
На самом деле, довольно сложно создавать пакеты установщика Windows, которые, по меньшей мере, допускают оба типа установки. С появлением UAC я бы сказал, что это невозможно: для пользовательских установок не требуется высота, для каждой установки машины. Но нужен ли пакет MSI для подъема, контролируется через бит в сводном информационном потоке - нет никакого способа, чтобы пользовательский ввод влиял на это.
Лучше ли выбор для отдельного пользователя или для каждого компьютера в зависимости от приложения. Однако для небольших пакетов я предпочитаю индивидуальные установки. Кроме того, что они немного удобны для пользователя, не требуя приглашения UAC или runas, они также сигнализируют пользователю о том, что установка не наносит большого вреда компьютеру (если он не является администратором).
Ответ 6
Установщик Chrome действительно должен разрешить глобальную установку (с увеличением) в дополнение к каждому пользователю. Я не хочу поддерживать установку для каждого пользователя; Я хочу иметь возможность централизованно управлять обновлениями и так далее. Chrome не позволяет этого.
Тем не менее, возможность установки для каждого пользователя довольно приятна, так как это означает отсутствие разрешений.
Ответ 7
Просто, чтобы вы знали, Google создал установщик MSI для глобальной установки и управления системой. Он расположен здесь:
Ответ 8
Я ничего не вижу в% PROGRAMFILES% на Win7. Похоже, Chrome должен быть установлен для каждого пользователя на машине.
Возможно, истинная причина этого - несколько раз заблудиться в количестве установок Chrome! Таким образом, это первый браузер в мире!