【发布时间】: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