Google Chrome如何在下载后自动执行安装?

当你下载谷歌浏览器可以检查exe的自动安装。 如何实现Win32的EXE和.NET文件?

我不知道他们怎么能做到这一点,因为我认为这将是一个违反安全。

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

新安装

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

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

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

关于ClickOnce,据我所见,用户显示一个popup窗口,要求确认,这不是Google Chrome的情况。

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

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

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

当你点击按钮时:

那么脚本所执行的是:

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安装页面的源代码,或使用浏览器。 但是你可以看到它使用了一个类似的过程。

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

这实际上似乎是超级用户问题的重复。

Chrome不会将其自身安装在受保护的通常的“程序文件”文件夹中。 它将自己置于用户配置文件中,可以在不升级的情况下进行更新。

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

对于.net,请检查一次部署 。

正如这位超级用户指出的,他们实际上使用ClickOnce来安装他们的下载管理器:

它实际上是ClickOnce。

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

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