我正在处理的 MSI 部署遇到问题(使用InstallShield)。我们有一个在后台运行的程序需要为每个用户运行,它需要在没有用户干预的情况下自动启动。
问题在于组策略对象/活动目录(GPO/AD)部署应用程序在任何人登录之前在系统上下文中启动,而不是以即将登录的用户身份启动。应用程序每个用户只能运行一次,并且似乎 SYSTEM 进程阻止了 USER 进程的启动。这意味着在将软件部署给用户之前,PC 需要重新启动两次。我们如何阻止这种情况?
基本上,当前的工作流程是:
- 安装/升级运行...杀死后台应用程序
- 安装新文件
- 启动后台应用程序
这适用于已发布的应用程序和交互式MSI安装 - 只有“分配”的应用程序似乎有问题。由于第 3 步发生在 SYSTEM 上下文而不是用户上下文中:(
理想情况下,我会让开发团队修补 EXE 文件以防止在 SYSTEM 上下文中启动,但这是一个发布周期,我正在寻找基于安装程序的临时解决方案。
(我不知道 Installscript ......所以我猜如果没有我可以使用的本地 InstallShield 东西, VBScript可能是要走的路。)