Delphi 2007是否支持Windows 2008 R2?

3
一个客户通过Citrix XenApp在Windows 2008 R2上运行我们的Delphi 2007应用程序。他一直面临文件打开对话框偶尔崩溃的问题。他已经为Windows和Citrix应用了最新的更新。我在网上看到许多类似问题的文章,这些问题发生在各种应用程序中,而不仅仅是Delphi,如MS Office应用程序、VS 2008、Adobe PDF等。
客户在任何其他应用程序上都没有遇到这个问题,因此指责我们的应用程序。如果我们的应用程序的“兼容模式”为“Windows XP SP3”,那么一切都很好。因此,客户提出了一个问题,询问我们的Delphi应用程序是否获得了Windows 2008 R2认证。
如果我们要使我们的Delphi 2007应用程序获得Windows 7/2003/2008/2008 R2认证,需要进行哪些更改?

可能与https://dev59.com/PHA75IYBdhLWcg3wm6Uj相同,但我不确定。无论如何,那里有有用的信息。 - user743382
Delphi 2007 应用程序在 Server 2008 R2 上可以很好地运行。您需要安装这样一个系统并进行一些调试。或者,作为第一步,使用 madExcept 获取一些诊断信息。 - David Heffernan
当应用程序在 Windows 7 64 位系统下调试时,打开对话框会出现与您类似的问题。这可能是由于某个 shell 扩展没有正确工作造成的。您是否检查了事件日志中是否有任何错误? - Mad Hatter
3个回答

3

我们通过在 DPR 中添加以下几行代码,成功解决了 Windows 2008 R2 64 位终端服务器上 Delphi (2009) 应用程序崩溃的问题:

// make it Terminal Server Aware (app without installer writing to ini files / registry)
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}

注意:编译时需要Windows单元。
崩溃出现在许多意想不到的地方,如打开对话框。通过优秀的madExcept工具,我们发现应用程序在某些Windows DLL的操作系统例程中崩溃,并且当我们添加“终端服务器感知”标志时,问题消失了。

我在 Delphi 2005 中看到了这个选项,并且代码至少可以编译。它在 2009 版本之前的版本中是否没有产生期望的效果? - mcmar
@mcmar,很抱歉我无法回答这个问题,因为我们在远程桌面环境中只使用Delphi 2009。 - mjn

1

我不是Delphi开发人员,但在Google搜索Delphi 2007系统要求时,我找到了这个页面http://edn.embarcadero.com/article/36573#requirements

以下Windows平台受支持:

Microsoft® Windows 2000 Professional or Windows 2000 Server (SP4 or higher and security updates are recommended)
Microsoft Windows XP Professional (SP2)
Microsoft Windows Vista™
Microsoft Windows Server 2003 (SP1)
The latest service packs and security updates are recommended for all platforms
Microsoft Internet Explorer 6.0 SP1 or later

我这里没有看到Windows 2008。


1
我非常确定这些是开发系统的要求,而不是运行时系统的要求。 - user743382

1

下面的情况并非罕见:

您需要确定并测试您的应用程序在2008系统下的运行情况。考虑到每一次Windows系统的更新都会带来很多变化,更不用说服务器/工作站了。

您需要告诉他们,在哪些场景下,您将支持该应用程序的运行。

如果您的应用程序需要以XP SP3的兼容模式运行,您需要告诉他们,并且告诉他们除了这种配置之外,您不再提供支持。如果您不支持虚拟环境下的运行,则需向他们说明。

显然,更好的答案是在2008 R2上进行测试,并检查所有功能,并表示您将支持其自然状态下的运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接