2011-06-06 160 views
11

当你下载谷歌浏览器时,可以检查exe的自动安装。如何实现win32 exe和.net exe?Google Chrome如何在下载后自动执行安装?

我想知道他们是如何做到这一点的,因为我认为这会违反安全。

我去这里http://omaha.googlecode.com/svn/wiki/OmahaOverview.html和阅读

新安装

用户下载从 谷歌网站的元安装程序,通过标准浏览器 文件下载步骤去。一旦 用户计算出如何启动 元安装程序,元安装程序 将安装并运行Omaha客户端。在 在每台计算机上安装 应用程序时,会显示Windows平台(如Windows Vista,带有UAC,提升提示 )。客户端 然后开始下载并安装 参考的微型 参考的应用程序。

但是在一台全新的机器上,我没有安装任何元安装程序,Chrome仍然自动安装。这怎么可能 ?

看起来这是一个谜:没有人没有真正的线索。

关于ClickOnce据我所见,用户显示一个弹出窗口询问确认,这不是Google Chrome的情况。

回答

7

谷歌浏览器有一个在后台运行的服务来检查和应用升级。它是open source,您也可以将它用于您的应用程序。

就原始安装而言,似乎有三种下载页面支持的方法:“oneclick”,“clickonce”和普通的旧版下载。最后一个,你必须手动保存并运行安装程序。

第一个似乎取决于是否安装了Google桌面,Gears或Toolbar。 This link描述了安装Google视频聊天应用程序,该应用程序使用类似的安装过程。

当您单击按钮:

那么什么exectued背后 的脚本是:

window.google.update.oneclick.install (通过点击安装)

location.href = http://dl.google.com/googletalk/googletalkplugin/GoogleVoiceAndVideoSetup.exe (手动安装)

注脚本 window.google,对于 谷歌,这是作为结果的上述的任一项的 创建的新对象的第一个比特中提到 谷歌服务。我的Chrome浏览器 (因为他是一个新的成员)不 了解window.google(他知道 默认的方法,如 window.location的,window.document)

您可以查看源Chrome安装页面here或使用您的浏览器。但是你可以看到它使用了类似的过程。

它可以回退到ClickOnce安装,它很可能会在安装前提示用户。但这取决于您的安全设置。

这实际上似乎是Super User Question的重复。

+1

虽然他的问题不是很清楚,但我相信他正在谈论不同的事情。当你下载谷歌浏览器时,它会启动安装过程,而用户不必使用保存/运行对话框,我相信这是他正在寻找的。 – 2011-06-06 18:33:17

+0

@Chris - 啊,我明白了。谢谢! – CodeNaked 2011-06-06 18:34:37

+0

@chris我不知道他们如何做到这一点,因为我认为这将是一个违反安全。 – user310291 2011-06-07 10:01:28

2

如果您询问有关设置,他们正在使用ClickOnce

+0

在ClickOnce中,只要用户显示要求确认的弹出窗口,Google Chrome就不是这种情况。 – user310291 2011-06-07 19:48:49

+0

这可能是因为程序集或ClickOnce软件包已经过数字签名。 – 2014-10-03 07:02:28

4

Chrome不会将其自身安装在受保护的通常Program Files文件夹中。它将自己置于用户配置文件中,可以在没有提升的情况下进行更新。

+0

据我所知,如果您启用了UAC,Chrome安装会询问您是否拥有管理权限。那么它如何不使用海拔? – liorafar 2014-05-28 09:47:08

0

由于this superuser answer指出,他们实际使用的ClickOnce安装他们的下载管理器:

它实际上是ClickOnce的。

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

谷歌的ClickOnce应用程序安装Chrome的安装程序,然后下载浏览器。

相关问题