我工作的公司开发了一个应用程序,随着时间的推移,它积累了一堆依赖项:
- .NET 3.5更新
- .NET 4.0更新
- VC++ Redist
- VC++ Redist
- VC++ Redist 2015
- 我们的专有设备驱动程序
然后将所有内容打包到Inno Setup可执行文件中并分发给客户端。最近,有人指出需要一种自动更新机制,这会导致我们遇到特权问题。以下是我需要满足的一些产品需求(但我不知道如何满足):
- Windows XP(和产品)必须支持旧版硬件和软件(即Windows XP及更高版本)
- 安装(包括自动更新安装)可能只需要一次管理员登录(在首次安装期间)。这意味着自动更新安装程序必须能够在非管理员帐户下以静默方式运行。
- 安装程序应安装到{commonappdata}文件夹(锁定),最终应用程序的行为应与此相同
- 依赖项必须包含在应用程序安装程序中。它们不需要包含在自动更新安装程序中。
乍一看,这似乎是微不足道的,但我尝试的每一个组合,我都会在安装或更新时遇到“访问拒绝”消息。有没有人知道一个可靠的方法来做到这一点?
1条答案
按热度按时间ltqd579y1#
如果没有管理员权限,则无法更新安装到仅管理员文件夹中的应用程序。
实现此类应用程序自动更新的唯一方法是实现Windows Update、Mozilla维护服务、Google Chrome Elevation Service、Adobe Chrome Update Service和类似服务的功能:
相关问题: