Как Google Chrome удается автоматически выполнить установку после загрузки?

#c# #windows #google-chrome

#c# #Windows #google-chrome

Вопрос:

При загрузке Google Chrome можно проверить автоматическую установку exe. Как добиться этого для win32 exe и .net exe?

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

Я зашел сюдаhttp://omaha.googlecode.com/svn/wiki/OmahaOverview.html и прочитайте

Новая установка

Пользователь загружает мета-установщик с веб-сайта Google, выполняя стандартные шаги загрузки файла браузера. Как только пользователь выясняет, как запустить мета-установщик, мета-установщик устанавливает и запускает клиент Omaha. На платформах Windows, таких как Windows Vista, с UAC, при установке приложений на компьютер отображается запрос на повышение прав доступа. Затем клиент начинает загрузку и установку приложения, на которое ссылается ссылка micro.

Но на совершенно новом компьютере я не устанавливал никакого мета-установщика, тем не менее Chrome устанавливался автоматически. Как это возможно?

Кажется, это загадка: никто не имеет ни малейшего представления.

О ClickOnce насколько я вижу, пользователю отображается всплывающее окно с запросом подтверждения, это не относится к Google Chrome.

Ответ №1:

В Google Chrome есть служба, которая работает в фоновом режиме для проверки и применения обновлений. Это открытый исходный код, и вы также можете использовать его для своих приложений.

Что касается первоначальной установки, то, по-видимому, страницы загрузки поддерживают три метода: «oneclick», «clickonce» и обычную старую загрузку. В последнем случае вам придется вручную сохранить и запустить программу установки.

Первый, похоже, зависит от того, установлены ли у вас Google Desktop, Gears или Toolbar. По этой ссылке описывается установка приложения видеочата Google, в котором используется аналогичный процесс установки.

Когда вы нажимаете кнопку:

Тогда какой скрипт выполняется за:

window.google.update.oneclick.install (установить с помощью щелчка)

и

Расположение.href =http://dl.google.com/googletalk/googletalkplugin/GoogleVoiceAndVideoSetup.exe (установить вручную)

Обратите внимание на первую часть окна скрипта.google , новый объект для Google, который создается в результате работы любого из вышеупомянутых сервисов Google. Мой браузер Chrome (поскольку он новый участник) не знает об window.google (он знает методы по умолчанию, такие как window.расположение, window.document)

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

Это может привести к установке ClickOnce, которая, скорее всего, предложит пользователю выполнить установку перед установкой. Но это зависит от ваших настроек безопасности.

На самом деле это похоже на дублирование вопроса суперпользователя.

Комментарии:

1. Хотя его вопрос не очень ясен, я полагаю, что он говорит о чем-то другом. Когда вы загружаете Google Chrome, он запускает процесс установки без необходимости использования пользователем диалогового окна сохранения / запуска, я полагаю, это то, что он ищет.

2. @chris Мне интересно, как они могут это сделать, поскольку я думал, что это будет нарушением безопасности.

3. @user310291 — Я провел немного больше исследований и обновил свой ответ.

4. «который, скорее всего, предложит пользователю перед установкой»: ну, у меня был совершенно новый Windows server 2008 с большими ограничениями, и он ничего не предлагал, как только я проверил ПЕРЕД этим, я согласился. Не опасно ли это, если хакерскому сайту удается сделать то же самое?

5. @user310291 — Это будет считаться огромным риском для безопасности. Предполагая, что это был реальный взлом, тогда было бы множество хакеров, использующих его. Я не говорю, что он не используется сейчас, но хакеры, безусловно, уже знают об этом.

Ответ №2:

Chrome не устанавливается сам в обычную папку Program Files, которая защищена. Он помещается в ваш профиль пользователя, где его можно обновлять без повышения прав доступа.

Комментарии:

1. Насколько я знаю, при установке chrome запрашиваются права администратора, если у вас включен UAC. так почему же он не использует права доступа?

Ответ №3:

Если вы спрашиваете о настройке, они используют ClickOnce.

Комментарии:

1. В ClickOnce, насколько я могу, пользователю отображается всплывающее окно с запросом подтверждения, это не относится к Google Chrome.

2. Это вполне может быть связано с тем, что сборки или пакет ClickOnce имеют цифровую подпись.

Ответ №4:

Для .net ознакомьтесь с click once deployment.

Ответ №5:

Как указывает этот ответ суперпользователя, они фактически используют ClickOnce для установки своего менеджера загрузок:

На самом деле это ClickOnce.

 function installViaClickOnce(opt_navDocument) {
    queueThankyou(10000, 'x26clickonceinstalled=', opt_navDocument);
    downloadInstaller(areStatsEnabled(),
                      _GU_buildClickOncePath,
                      "/update2/installers/clickonce/GoogleInstaller_en.application");
    showThrobber(true);
}
  

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