我维护一个安装了nullsoft nsis的大型Windows C ++应用程序。安装快速简单(不到1分钟)。
大公司中的某些用户没有管理权限,他们必须订购昂贵的第三方服务才能更新其安装。因此,有些人每年只更新一次,而我们每月发货,有时会修复重要的错误等。
因此,我们正在考虑不需要提升管理权限的自动更新。 Mozilla和Adobe以及其他人都这样做。据我所知,Mozilla XULRunner site他们安装了一个服务,然后又可以运行更新而不强迫用户输入管理密码。我还发现了Googles Omaha但不清楚管理员权限(“支持受限用户环境;例如,没有管理员权限的用户”......“这需要用户具有管理员权限。”)。
到目前为止,我还没有找到这些问题的确切答案:
答案 0 :(得分:0)
您的应用程序应检查您的服务器/网站上的更新并获取下载链接。 如果您维护带有固定超链接的文本文件/页面,这应该非常简单。 此超链接可以在您的应用程序中进行硬编码。 如果它检测到比当前版本更新的版本,则下载文件。 除了这些文件外,还应该有关于要替换哪些文件以及在哪个位置添加哪些文件的说明等。
现在,您是否需要管理员权限取决于您需要放置更新文件的位置。如果目标文件夹有一些限制,那么在同一会话中更新将很困难。因此,您可能必须启动一个虚拟exe,它在启动期间要求用户提供管理员权限。现在,您可以将更新的文件复制到所需位置,而不会有太多痛苦。