当前位置:  开发笔记 > 编程语言 > 正文

阻止MSI在SYSTEM上下文中启动EXE

如何解决《阻止MSI在SYSTEM上下文中启动EXE》经验,为你挑选了1个好方法。

我在这里遇到了一个我正在使用的MSI部署的问题(使用InstallShield).我们有一个在后台运行的程序需要按用户运行,它需要在没有用户干预的情况下自动启动.

问题在于组策略对象/Active Directory(GPO/AD)部署,应用程序在任何人登录之前在SYSTEM上下文中启动,而不是作为即将登录的用户.应用程序每个用户只能运行一次,似乎SYSTEM进程阻止了USER进程启动.这意味着在将软件部署到用户之前,需要重新启动PC两次.我们该如何制止这个?

基本上当前的工作流程是:

    安装/升级运行...杀死后台应用程序

    安装新文件

    启动后台应用程序

这适用于已发布的应用程序和交互式MSI安装 - 它只是"已分配"的应用程序似乎有问题.由于步骤3发生在SYSTEM上下文而不是用户上下文中:(

理想情况下,我让开发团队修补EXE文件以防止在SYSTEM上下文中启动,但这是一个发布周期,我正在寻找一个基于安装程序的临时解决方案.

(我不知道Installscript ......所以我猜测如果没有我可以使用的原生InstallShield东西,可能就是VBScript.)



1> On Freund..:

您可以使用Windows Installer 的LogonUser属性作为启动EXE的操作的条件.


如果您可以更详细地说明如何执行此操作,那将是很好的。
推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有