3
votes

A client runs our Delphi 2007 app on Windows 2008 R2 via Citrix XenApp. He's been facing an issue where the file open dialog crashes sometimes. He's applied latest updates for windows and Citrix. I've seen many articles on the net where similar issue occurs for various apps other than Delphi like MS Office apps, VS 2008, Adobe PDF etc. The client doesn't face this on any other application and thus is blaming our application.

If the our app's "Compatibility Mode" is "Windows XP SP3" then all is fine. Hence, client has raised a question stating if our Delphi app is Windows 2008 R2 certified.

What changes are required if we have to make our Delphi 2007 app certified for Windows 7/2003/2008/2008 R2 ?

3
Could be the same as stackoverflow.com/questions/3206010/…, but I'm sure. At any rate, useful information there.user743382
Delphi 2007 apps will work fine on server 2008 R2. You need to install such a system and do some debugging. Or as a first step use madExcept to get some diagnostics.David Heffernan
I have an issue alike yours when the open dialog is invoked while the application is debugged in Windows 7 64 bit. It could be due to a shell extension not behaving properly. Did you check the event log for any error?Mad Hatter

3 Answers

3
votes

We have fixed lots of strange Delphi (2009) app crashes on Windows 2008 R2 64 Bit Terminal Server environment with these additional lines in the DPR:

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

Note: to compile, it requires the Windows unit

The crashes appeared in many unexpected places like open dialogs. With the excellent madExcept tool we found that apps crashed within operating system routines in some Windows DLLs, and disappeared when we added the "terminal server aware" flag.

1
votes

I am not a Delphi developer but a Google Search for Delphi 2007 System requirement took me to this page http://edn.embarcadero.com/article/36573#requirements

The following Windows platforms are supported:

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

I don't see Windows 2008 here.

1
votes

Its not uncommon for the following:

It would be up to you to determine and test how your app functions under 2008. Knowing that a number of things as always change with each release of windows let alone server/workstation.

You tell them under what senarios YOU will support your application being run.

If you require your app to be run as compatbility mode with xp sp3, and tell them that, and tell them YOU dont support it outside that configuration. If you wont support it under a virtual environment.. then you tell them that.

Obviously the better answer would be to test it on 2008 R2, and check all your functionality and say you will support it running in a natural state.