我有一个由wix生成的msi包,它通过填充 Environment

<Environment Id="CreateEnvVar" Name="DATADIR" Action="set"
        System="yes" Part="all" Value="[DATA_DIR]" />

安装在系统级别成功创建环境变量。通过从系统属性

查看 Environment Variables 对话框来验证这一点。

然而,当机器重新启动之前,当前登录的用户无法访问新创建的环境变量(我假设退出然后重新登录也可以。但还没有尝试过)。执行刚安装的应用程序失败,因为它无法访问 DATADIR 变量。

此外,在安装完成后打开命令提示符,执行 set 命令时不会出现 DATADIR 变量。

我知道在执行MSI之前启动的进程不会获得新变量。但是,为什么在添加环境变量后才开始进程获取新进程?

仅供参考,我正在Windows Server 2003上安装,并且我通过远程桌面与 Administrators 组中的用户一起登录。

有帮助吗?

解决方案

您是否通过远程桌面安装?如果是,请确保您使用的是管理控制台会话。

为此,请使用以下命令启动远程桌面:

  

mstsc / admin

或者,如果您使用的是最新版本的RDP,现在就是:

  

mstsc / console

尝试从此会话(或本地)安装它,并让我知道结果。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top