Каковы преимущества установки программ в AppData, таких как Google Chrome? - PullRequest
18 голосов
/ 06 сентября 2008

Я только что заметил, что Chromium был установлен в AppData как в Vista, так и в XP. Если это делает Google, и если это делают другие приложения, то есть ли какая-то форма защиты? Должны ли мы написать установщики, которые делают то же самое, что и Google?

Ответы [ 8 ]

21 голосов
/ 06 сентября 2008

В Windows по-прежнему отсутствует соглашение для установки на пользователя.

  • Когда установщик спрашивает, устанавливать ли его для текущего пользователя или всех пользователей, он действительно относится только к размещению ярлыков (меню «Пуск»; «Рабочий стол»). Фактические файлы приложения по-прежнему сохраняются в масштабе всей системы %PROGRAMFILES%.
  • Microsoft ClickOnce работает в этом направлении, создавая совершенно нестандартный каталог %USERPROFILE%\Local Settings\Apps (%USERPROFILE%\AppData\Roaming в Vista / Server 2008), в котором находятся как программные файлы, так и данные конфигурации.

(Я в растерянности, почему Microsoft не смогла добавить каталог программных файлов для пользователя в Vista. Например, в OS X вы можете создать ~/Applications, и Finder даст ему соответствующий значок Такие приложения, как CrossOver и Adobe AIR, автоматически используют его, по умолчанию применяя приложения для каждого пользователя. Таким образом, проблем с разрешениями нет.)

Что вы, вероятно, должны сделать : если пользователь не является администратором, установите его в каталог пользователя; если они это сделают, дайте им оба варианта.

6 голосов
/ 18 июля 2011

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

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

5 голосов
/ 06 сентября 2008

Насколько я могу судить, единственная причина, по которой Chrome устанавливается в папку Application Data, заключается в том, что пользователи, не имеющие прав администратора, могут установить его.

В настоящее время установщик Chrome не позволяет пользователю выбирать, куда будет установлено приложение. Не делайте этого - вместо этого предоставьте пользователю выбор между установкой для каждого пользователя (где-то, например, «Данные приложения») и для всего компьютера («Program Files»).

4 голосов
/ 02 сентября 2009

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 и выше решение простое.

2 голосов
/ 06 сентября 2008

Честно говоря, я еще не видел первый установщик, который действительно разрешает установку как для пользователя, так и для компьютера. Многие установщики предлагают эту опцию в своем графическом интерфейсе, но эта настройка влияет только на то, куда идут ярлыки и т. Д. - двоичные файлы всегда находятся в% ProgramFiles%.

На самом деле, довольно сложно создать пакеты установщика Windows, которые допускают оба типа установок, если не сказать больше. С появлением UAC я бы сказал, что это невозможно: для установок, выполняемых пользователем, не требуется повышение прав, для установки на машине требуется. Но то, требует ли пакет MSI повышения, контролируется с помощью бита в потоке сводной информации - нет никакого способа, чтобы пользовательский ввод мог повлиять на это.

Лучше всего выбрать приложение для каждого пользователя или для компьютера. Однако для небольших пакетов я предпочитаю установку для каждого пользователя. Помимо того, что они немного более удобны для пользователя, не требуя запроса UAC или runas, они также сигнализируют пользователю, что установка не принесет большого вреда компьютеру (при условии, что он не является администратором).

1 голос
/ 06 сентября 2008

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

Тем не менее, возможность установки для каждого пользователя довольно удобна, так как это означает отсутствие проблем с разрешениями.

0 голосов
/ 12 июля 2012

Я не вижу ничего в% PROGRAMFILES% на Win7. Похоже, Chrome должен быть установлен для каждого пользователя на машине.

Возможно, истинной причиной этого является фальсификация количества установок Chrome в несколько раз! Таким образом, это первый браузер в мире!

0 голосов
/ 04 июня 2012

Чтобы вы знали, Google создал программу установки MSI для глобальной установки и управления системой. Он находится здесь:

https://www.google.com/intl/en/chrome/business/browser/

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