阻止 MSI 在系统上下文中启动 EXE

2023-12-31

我正在处理的 MSI 部署遇到问题(使用安装盾 http://en.wikipedia.org/wiki/InstallShield)。我们有一个在后台运行的程序,需要按用户运行,并且需要自动启动,无需用户干预。

问题在于组策略对象 http://en.wikipedia.org/wiki/Group_Policy#Operation/活动目录 http://en.wikipedia.org/wiki/Active_Directory(GPO/AD) 部署应用程序在任何人登录之前在 SYSTEM 上下文中启动,而不是以即将登录的用户身份启动。该应用程序每个用户只能运行一次,并且 SYSTEM 进程似乎阻止了 USER过程从开始。这意味着电脑需要重新启动两次才能将软件部署给用户。我们如何阻止这种情况?

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

  1. 安装/升级运行...杀死后台应用程序
  2. 安装新文件
  3. 启动后台应用程序

这适用于已发布的应用程序和交互式MSI http://en.wikipedia.org/wiki/Windows_Installer安装 - 只有“指定”的应用程序似乎有问题。因为步骤 3 发生在系统上下文中而不是用户上下文中:(

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

(我不知道Installscript...所以我猜VBScript http://en.wikipedia.org/wiki/VBScript如果没有我可以使用的原生 InstallShield 东西,这可能是可行的方法。)


您可以使用登录用户 http://msdn.microsoft.com/en-us/library/aa369780(VS.85).aspxWindows Installer 的属性作为启动 EXE 操作的条件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止 MSI 在系统上下文中启动 EXE 的相关文章

随机推荐

  • 安卓;地理编码器,为什么我收到“服务不可用”?

    我想在 Android 应用程序中使用地理编码器 我有以下代码片段来对其进行采样 public class LocatorGeo extends Activity Called when the activity is first crea
  • 不使用循环按位反转整数

    我想编写一个程序来反转整数的位 例如 11000101 至 10100011我知道如何使用循环来解决这个问题 但我遇到了使用字节移位来解决这个问题的解决方案 num gt gt 4 num lt lt 4 我不明白这是如何工作的 有人可以帮
  • R 数据框的实际限制

    我一直在阅读有关 read table 对于大型数据文件如何效率不高的信息 另外 R 不适合大型数据集 所以我想知道在哪里可以找到实际限制以及任何性能图表 1 读取不同大小的数据 2 处理不同大小的数据 实际上 我想知道性能何时恶化以及何时
  • 如何使用jsPDF在PDF中显示两页图像?

    我有一个 html 页面 其中我有一个按钮 每当我单击此按钮时 它都会使用 html2canvas 将整个 html 页面转换为数据图像 并使用 jsPDF 库将其放入 PDF 中 我正在使用的javascript是 printButton
  • 检测用户是否通过 javascript 打印内容

    我在检测 javascript 中的打印事件时遇到问题 例如 用户想要打印文档并在网页中按下打印 然后出现另一个窗口 例如从 Adob e Reader 进行打印 然后会出现 Adob e Reader 的另一个窗口 您可以在其中设置属性
  • 将所有 XML 特殊字符转换回常规字符(在 SQL 内)

    如何将 XML 中的所有特殊字符转换为 ASCII 值 例如 DECLARE xml XML SELECT abc xyz gt lt FOR XML PATH SELECT xml xml is now abc amp xyz gt lt
  • 如何解决具有 -ms-transform:translate 的固定位置父级的 IE9 滚动重绘问题?

    我有一个父 div 具有 ms transform translateX 50 translateY 40 位置 固定 我的内部子 div 具有固定高度和溢出 auto 在 IE9 仅真正的 IE9 中 这会导致奇怪的滚动问题 它无法正确重
  • 如何使用 PowerShell 批量重命名文件?

    我正在尝试递归地重命名一堆TFS http en wikipedia org wiki Team Foundation Server文件夹使用tf rename 电源外壳 http en wikipedia org wiki Windows
  • 从 angularjs 中的验证中删除最后一个 ng-form

    I have a master detail form in angularjs The form is typical transactions form with some master data like Name type etc
  • Storyboard 和 xib 在同一项目中使用

    我对 Objective C 中的类如何工作的理解可能是一个根本性的误解 我正在使用故事板 但在这个应用程序中 我想为我的视图控制器之一上的文本字段创建一个简单的自定义日期选择器视图 但是 我似乎在从视图控制器访问日期选择器类的任何属性时遇
  • 在没有任何“order by”语句的情况下,数据库服务器如何决定返回行的顺序?

    这是一个异想天开的问题 一直是我想知道的问题 我想知道它为什么会这样做可能会加深我的理解 假设我执行 SELECT TOP 10 FROM TableName 在很短的时间内 相同的 10 行又回来了 所以看起来不是随机的 它们不是第一个或
  • 如何从 Python/NumPy 列表中删除 Nan

    我有一个包含值的列表 我得到的值之一是 nan countries nan USA UK France 我尝试删除它 但每次都会出现错误 cleanedList x for x in countries if math isnan x Tr
  • tkinter 同时使用两个键

    所以 tkinker 一次只能使用一把钥匙 在这个例子中 我无法同时向左和向上移动 如果我愿意的话 我会怎样去做呢 import tkinter root tkinter Tk root title test c tkinter Canva
  • 为什么我收到错误 CS0246:找不到类型或命名空间名称?

    我在用咆哮 C API https github com TlhanGhun Snarl Network Protocol Csharp blob master SnarlNetwork cs向 snarl 发送通知 现在我已将上述网址的内
  • javascript 模块模式来自《你不懂 JS》

    我已经阅读和测试下面的代码几个小时了 但我似乎无法理解某些事情 我一直在逐步浏览 chrome 控制台 基本上在我可以添加的每一行中都插入了中断 并且一直在检查 但我只是不确定事情 1 我只是不确定 deps 数组的用途 对我来说第一件奇怪
  • 如何在 argo 工作流程中转义“{{”和“}}”

    我想运行一个 argo 工作流程 其中的值用双括号括起来 Argo 试图解决它 但我不希望 argo 解决它 以下是 katib Studyjob 工作流程清单的一部分 workerSpec goTemplate rawTemplate a
  • 访问 BuildConfig 中的设置

    是否可以以某种方式访问 指定的属性Config groovy在 的里面BuildConfig groovy 我需要在打包过程中复制一些引导文件 目标目录取决于指定的环境 由于我需要在应用程序引导期间访问这些文件 因此我想在Config gr
  • 如何将特定形状应用于 div?

    I have this shape to do on a website 不幸的是 我不知道该怎么做 我想过clip path 这是我尝试过的一些代码 HTML Vue div class col md 7 div
  • Stripe connect 入职限制国家/地区? (锁定“澳大利亚”)

    我使用以下命令创建一个新的 Stripe 连接帐户 account Stripe Account create type express requested capabilities card payments transfers 当用户单
  • 阻止 MSI 在系统上下文中启动 EXE

    我正在处理的 MSI 部署遇到问题 使用安装盾 http en wikipedia org wiki InstallShield 我们有一个在后台运行的程序 需要按用户运行 并且需要自动启动 无需用户干预 问题在于组策略对象 http en