我想知道 chrome 在 Windows 上使用什么来下载和安装自身,以及如何为我的应用程序创建这样的安装过程?
2 回答
Chrome 的无声自我更新策略付出了高昂的代价。它将 .exe 存储在任何进程都可以写入的文件夹中,即我机器上的 C:\Users\hpassant\AppData\Local\Google\Chrome\Application\chrome.exe。
这绕过了要求提升以写入 c:\program 文件的 UAC 提示的需要,这是安装可执行文件的正常目录。所以更新可以完全静默。这应该使 Chrome 成为病毒编写者的一个有吸引力的目标,这些编写者可以让代码在你的机器上执行,但通常无能为力地弄乱关键文件来复制自己。他们只需要修补或替换 chrome.exe,并且可以静默进行。桌面快捷方式直接指向此文件,因此当用户再次启动 Chrome 时,它将运行受影响的可执行文件。
不知道为什么这不是一个广泛传播的攻击向量,除了它是一个相当大的程序并且不断变化并且可能有一些对策。也许因为 UAC 可以保护机器免受 .exe 的受感染副本,所以您只能执行诸如窃取密码并将用户重定向到 pr0n 站点之类的操作。
我并不特别关心这个漏洞,所以我避免使用 Chrome,您可能要考虑您的客户对您的程序有同样的担忧。尤其是当它没有 Chrome 可能拥有的那种对策时。用户和 IT 人员通常喜欢UAC,只有程序员不喜欢。
一个非常完整的解决方案列表:
- Google Omaha(Google Chrome 的安装解决方案)
- 高级安装程序
- Somoto BetterInstaller(+ 添加您从中赚钱的建议)
- 点燃(尚不可用)
或者可能使用WiX 工具集、NSIS或Inno Setup创建您自己的。您需要创建一个小型下载程序 EXE,该程序将从您的 Web 服务器下载完整安装,然后启动它。
所有这些都是免费的解决方案,除了 AdvancedInstaller。