通过SystemLink部署时安装程序不会自动运行

更新 Jun 30, 2024

适用于

软件

  • NI Package Builder 19.1
  • SystemLink 19.0
  • Package Manager 19.6

问题详述

我已经使用NI Package Builder构建了一个NI Package(.nipkg文件)。程序包配置为在安装程序包有效负载后启动.exe。如果通过在目标系统上运行.nipkg安装手动安装了软件包,则将按预期方式启动安装后的exe文件,并显示GUI。

但是,如果通过SystemLink将相同的程序包部署到目标计算机,则不会触发/执行安装后的exe。

解决方案

安装后exe确实会触发-只是GUI无法启动。您可以通过在“详细信息”选项卡下的“任务管理器”中签入并验证安装后的exe是否正在运行来进行验证。

这是预期的行为,并且是由于SystemLink客户端以Window服务用户帐户身份运行。因此,尽管仍然可以启动exe,并且它将在后台运行,但将无法访问GUI。
 

相关信息

服务帐户是明确创建的用户帐户,旨在为Windows Server操作系统上运行的服务提供安全上下文。安全上下文确定服务访问本地和网络资源的能力。 Windows操作系统依赖于服务来运行各种功能。可以通过应用程序,服务管理单元或任务管理器或使用Windows PowerShell配置这些服务。

因此,这是Windows的限制。一种可能的解决方法是将安装后exe配置为Windows启动应用程序-安装软件包有效负载后,一旦系统重新启动,便可以执行我们所需的exe。