环境: Windows Server 2008 R2 64 位
我有一个适用于Windows Server 2003 SP1 兼容模式的程序。但是,当我尝试使用 C# 执行此程序时,程序会出错。
我认为这是因为从另一个程序调用它时它没有以兼容模式运行。我使用Process.Start(pathToExe)
from 我的代码来启动这个程序。
我尝试在兼容模式下运行调用程序,以检查这是否会使程序正常运行。
请注意,我已将程序集设置为属性 |兼容性。兼容性。
环境: Windows Server 2008 R2 64 位
我有一个适用于Windows Server 2003 SP1 兼容模式的程序。但是,当我尝试使用 C# 执行此程序时,程序会出错。
我认为这是因为从另一个程序调用它时它没有以兼容模式运行。我使用Process.Start(pathToExe)
from 我的代码来启动这个程序。
我尝试在兼容模式下运行调用程序,以检查这是否会使程序正常运行。
请注意,我已将程序集设置为属性 |兼容性。兼容性。
我不确定我是否完全理解您的问题,但如果您想始终在兼容模式下运行程序,您可以设置注册表以使其正常工作。
注册表项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
添加一个新的字符串条目,
名称:完整的应用程序路径。
类型:REG_SZ
数据:必需的兼容值。我认为在你的情况下是WIN2003
或WIN2003SP1
。
Example:
C:\Program Files\System32\Notepad.exe REG_SZ WIN2003
您可以检查您正在运行的当前操作系统版本,您可以在调用程序之前设置和取消设置此注册表值。