gpt4 book ai didi

windows - 如何在 Windows 中创建 Chrome 风格的程序自更新?

转载 作者:可可西里 更新时间:2023-11-01 09:35:13 24 4
gpt4 key购买 nike

Google 的 Chrome 浏览器在 Windows 上有一个 super 流畅的更新系统。它不需要管理权限,并且无需用户交互即可就地更新。

我正在尝试创建与此类似的东西,如果有任何关于如何做的建议,我将不胜感激。

他们的技巧的第一部分是他们不像大多数 Windows 程序那样安装到 Program Files 中,而是安装到 C:\Users\USER_NAME\AppData\Local\Google\Chrome\应用程序。这使他们的程序文件能够在没有管理权限的情况下自行修改。

查看该目录,我看到不仅有一个 chrome.exe,还有一个 old_chrome.exe。在网上搜索了一下,我发现 chrome 将自己备份为 old_chrome,以防更新失败,它仍然可以运行一些东西。

创建一个作为安装包的一部分的辅助应用程序的方法也是如此,您将执行转移到该应用程序中(我认为这是可行的),然后该辅助应用程序进行文件重命名和重新启动 chrome.exe 什么时候完成? (如果是这样,假设这个辅助应用程序在启动时又被 chrome.exe 删除,这解释了为什么我没有看到它存在。)没有办法简单地拥有 chrome.exe 将自身重命名为 old_chrome.exe 并复制并启动新的 chrome.exe 在吗?

如果这是实现类似功能的最佳方式,是否有任何预构建的解决方案可以让我直接融入到我的项目中,因为这似乎是相当通用的功能,或者我是否必须推出我自己也是这样吗?

或者,如果有更好的方法,那是什么? (就其值(value)而言,Chrome 的方法让我印象深刻,因为它比 Mozilla 使用服务的新方法更加优雅和直接)

最佳答案

好的,开始工作了,下面是它的工作原理。

不需要辅助应用程序。至少在 Windows 上,程序可以原地重命名,只是无法删除。因此,我在我的程序中添加了一个更新程序,它会下载新文件。下载完成后,它会重命名旧的可执行文件,并将新的可执行文件移动到它的位置。

然后,您可以简单地从旧的正在运行的进程中执行新的可执行文件,然后退出旧的。

瞧,新版本与旧版本的无升级交换。

关于windows - 如何在 Windows 中创建 Chrome 风格的程序自更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com