Каковы преимущества установки программ в AppData, таких как Google Chrome?

StackOverflow https://stackoverflow.com/questions/47639

Вопрос

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

Насколько я могу судить, единственная причина, по которой Chrome устанавливается в папку «Данные приложения», заключается в том, что его могут установить пользователи, не являющиеся администраторами.

Установщик Chrome в настоящее время не позволяет пользователю выбирать место установки приложения.Не делайте этого — вместо этого дайте пользователю выбор между установкой для каждого пользователя (например, данные приложения) или установкой для всего компьютера (программные файлы).

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 и более поздних версиях решение простое.

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top