我在Windows Server 2016上安装应用程序时遇到了一个奇怪的问题。(它在Server 2012和Windows 7到10个客户端上运行正常)。
仅供参考:我是软件测试人员,而不是编写应用程序或安装程序代码的程序员。我们将应用程序部署为.msi文件,如果这很重要的话。
我的应用程序的安装程序做了三件事: - 它默认将所有必要文件安装到文件夹C:\ myapp中。 - 它创建一个目录C:\ mydir \ subdir,并在该子目录中创建一个名为info.text的文件 - 它使用内容C:\ mydir \ subdir \ info.text设置一个名为myvar的环境变量 (它也可以创建一个桌面图标来启动应用程序,但该图标并不重要)
info.text的内容是简单的纯文本:程序可以找到其数据库的路径。默认情况下,它将包含路径C:\ myapp \ dbsubdir
这几十年来一直运行良好,并且在Windows 10上安装时也能正常工作。
在Windows Server 2016上,我运行安装程序并手动检查是否存在C:\ mydir \ _subir \ info.text和变量myvar - 它们是。文件info.text还包含正确的内容。
然后我点击桌面图标启动应用程序并收到错误消息。我问过我的软件开发人员,他说这个错误信息只能由以下两种情况之一引起: - 应用程序无法找到环境变量myvar - 应用无法找到文件C:\ mydir \ subdir \ info.text
重新启动Windows后,应用程序启动就像错误从未发生过一样。
在所有其他Windows系统上,我可以在安装完成后直接启动应用程序 - 我的应用程序不需要重新启动Windows。
我猜测Windows Server 2016需要重启才能读取新创建的环境变量。但是我没有找到证据证明如何绕过重启。
我的猜测是真的吗?
如果是的话,有没有办法重启?
答案 0 :(得分:0)
是的,我特别在Windows Server 2016中看到了这一点。重新启动的解决方法是注销并重新登录。这似乎迫使重新读取环境变量集。