2011-06-06 162 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的安裝程序,然後下載瀏覽器。

相關問題