【问题标题】:Windows Server 2016 can't read new environment variableWindows Server 2016 无法读取新的环境变量
【发布时间】:2018-11-09 06:26:02
【问题描述】:

在 Windows Server 2016 上安装我的应用程序时遇到一个奇怪的问题。(它在 Server 2012 和 Windows 7 到 10 客户端上运行良好)。

仅供参考:我是一名软件测试人员,而不是为应用程序或安装程序编写代码的程序员。如果这很重要,我们会将应用部署为 .msi 文件。

我的应用程序的安装程序做了三件事: - 它安装所有必需的文件,默认情况下安装到文件夹 C:\myapp。 - 它创建一个目录 C:\mydir\subdir 并在该子目录中创建一个名为 info.text 的文件 - 它设置一个名为 myvar 的环境变量,内容为 C:\mydir\subdir\info.text (它也可以创建一个桌面图标来启动应用程序,但那个图标并不重要)

info.text 的内容是简单的纯文本:程序可以找到其数据库的路径。默认情况下,它将包含路径 C:\myapp\dbsubdir

这几十年来一直运行良好,安装在 Windows 10 上也能正常运行。

在 Windows Server 2016 上,我运行安装程序并手动检查 C:\mydir\subdir\info.text 和变量 myvar 是否存在 - 确实存在。文件 info.text 也包含正确的内容。

然后我通过单击桌面图标启动应用程序并收到错误消息。我问了我的软件开发人员,他说此错误消息只能由以下两种情况之一引起: - 应用找不到环境变量 myvar - 应用找不到文件 C:\mydir\subdir\info.text

在我重新启动 Windows 后,应用程序启动,就好像错误从未发生过一样。

在所有其他 Windows 系统上,我可以在安装完成后直接启动应用程序 - 我的应用程序不需要重新启动 Windows。

我猜测 Windows Server 2016 需要重新启动某种方式才能读取新创建的环境变量。但我没有找到证据证明这种想法或想法如何解决重启问题。

我的猜测是真的吗?

如果是,有没有办法解决重启?

【问题讨论】:

    标签: windows environment-variables


    【解决方案1】:

    是的,我在 Windows Server 2016 中专门看到过这种情况。重新启动的解决方法是注销并重新登录。这似乎会强制重新读取您的环境变量集。

    【讨论】:

      猜你喜欢
      • 2019-11-21
      • 2014-08-16
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 2013-06-07
      • 2020-01-27
      • 2015-07-17
      相关资源
      最近更新 更多