Fonts 渲染期间的Windows Server 2008特殊字体

Fonts 渲染期间的Windows Server 2008特殊字体,fonts,windows-server-2008,rendering,session-0-isolation,Fonts,Windows Server 2008,Rendering,Session 0 Isolation,因此,我们在Server2008上运行了一个服务,它启动了一个ProcessC应用程序,该应用程序进行一些渲染。进程正在成功运行,但我相信它使用的是系统字体Arial,而不是应该加载的字体。如果我通过登录服务器手动运行此过程,字体将成功加载,并且该过程将正确呈现 我曾尝试使用CreateProcessWithLogonW运行此进程,但仍然不起作用。我假设这与Server2008中的非交互式会话有关,但我不知道如何解决它。我最终使用-I和-h选项解决了这个问题。据我所知,它在场景下运行Create

因此,我们在Server2008上运行了一个服务,它启动了一个ProcessC应用程序,该应用程序进行一些渲染。进程正在成功运行,但我相信它使用的是系统字体Arial,而不是应该加载的字体。如果我通过登录服务器手动运行此过程,字体将成功加载,并且该过程将正确呈现


我曾尝试使用CreateProcessWithLogonW运行此进程,但仍然不起作用。我假设这与Server2008中的非交互式会话有关,但我不知道如何解决它。

我最终使用-I和-h选项解决了这个问题。据我所知,它在场景下运行CreateProcessWithLogonW或类似的东西。这正确地创建了一个新会话,其用户帐户位于会话0之外。我要做的唯一一件事就是确保我试图运行该进程的用户接受了PSExec的EULA。我还运行了交互式服务检测服务,以防会话0中出现EULA。之后,我关闭了Interactive Services Detection,因为我不再需要它,也不确定是否需要执行最后一步。

我知道您找到了解决方案,但我有一个与您非常相似的问题,通过计划任务运行应用程序将使用默认字体,但在本地运行时,它会找到我安装的自定义字体,我找到了一个不同的解决方案;在Server 2008上,存在一个问题,即非交互式用户在安装后不会立即注册自定义字体,而普通用户(即在实际登录到计算机的用户上运行时)会立即注册字体

对我来说,有效的解决方案是简单地重新启动安装字体的机器,然后字体在非交互式帐户下开始工作,就像打开计算机时正确注册一样。字体安装似乎有一个错误,在重新启动之前,它无法为非交互式用户正确注册字体