When a Uniface 32-bit application is installed on a 64-bit machine, HKEY_LOCAL_MACHINE definitions are stored under HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Uniface\Uniface Version\Application. By default, crashes are handled like they always were, i.e. by Windows. To implement a different behaviour, you can create a registry key HKLM\Software\Compuware\Uniface 9\Exceptions\progname or since Uniface 9.7 HKLM\Software\WOW6432Node\Uniface\Uniface 9\Exceptions\progname HKLM\Software\Uniface\Uniface 9\Exceptions\progname where progname is the executable name without the path and suffix, e.g. "idf" , "uniface" or "userver". So keys HKLM\Software\WOW6432Node\Uniface\Uniface 9\Exceptions\idf HKLM\Software\Uniface\Uniface 9\Exceptions\idf HKLM\Software\WOW6432Node\Uniface\Uniface 9\Exceptions\uniface HKLM\Software\Uniface\Uniface 9\Exceptions\uniface HKLM\Software\WOW6432Node\Uniface\Uniface 9\Exceptions\userver HKLM\Software\Uniface\Uniface 9\Exceptions\userver In this key you can create one or more of these three values: REG_SZ showPopup REG_SZ logToEvent REG_SZ logToFile If the key exists for a specific program, and at least one of these values is found, UNIFACE will do the exception handling instead of Windows. How it is handled depends on these three values. If showPopup is "Y" or "y", a popup window is shown. You do not want that for a server, but it could be nice for an interactive program as it gives better information than the default Windows popup. Example output : UNIFACE FATAL EXCEPTION ! Timestamp : Wed Jun 04 13:35:43 2003 Command line : "D:\continuus\u8-cbr8203\u8\win4\bin\idf.exe" /crash Fatal error : Memory access violation Exception : 0xc0000005 At address : 0x00401978 Flags : 0x00000000 If logToEvent is "Y" or "y", a message will we logged to the Application log of the Windows event log. This has the same information as would be in the popup window. Note that this is currently implemented without an event message file, so you will also see some Windows text to this effect, which you can ignore. Example output : The description for Event ID ( 0 ) in Source ( Uniface 8 ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. The following information is part of the event: UNIFACE FATAL EXCEPTION !, Timestamp : Wed Jun 04 13:35:43 2003, Command line : "D:\continuus\u8-cbr8203\u8\win4\bin\idf.exe" /crash, Fatal error : Memory access violation, Exception : 0xc0000005, At address : 0x00401978, Flags : 0x00000000. If the logToFile value is supplied, it will be interpreted as a filename to which the crash message will be appended, using the same information as would be in the popup window. Of course this must be a valid file name, otherwise it will not work. Note that you can combine the three options in any desired combination. The reason this is implemented via the registry, and not via the UNIFACE assignment file, is that this exception handler is right at the start of the UNIFACE executable. In this stage the UNIFACE runtime has not been initialized yet, and assignment files have not been read. By default, crashes are handled like they always were, i.e. by Windows. To implement a different behaviour, you can create a registry key HKLM\Software\Compuware\Uniface 9\Exceptions\progname HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Uniface\Uniface 9\Exceptions\progname or since Uniface 9.7 HKLM\Software\Uniface\Uniface 9\Exceptions\progname HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Uniface\Uniface 9\Exceptions\progname where progname is the executable name without the path and suffix, e.g. "idf" or "userver". So for a server in Uniface 9.7 , you would create the key HKLM\Software\Uniface\Uniface 9\Exceptions\userver In this key you can create one or more of these three values: REG_SZ showPopup REG_SZ logToEvent REG_SZ logToFile If the key exists for a specific program, and at least one of these values is found, UNIFACE will do the exception handling instead of Windows. How it is handled depends on these three values. If showPopup is Y or y, a popup window is shown. You do not want that for a server, but it could be nice for an interactive program as it gives better information than the default Windows popup. Example output : UNIFACE FATAL EXCEPTION ! Timestamp : Wed Jun 04 13:35:43 2003 Command line : "D:\continuus\u8-cbr8203\u8\win4\bin\idf.exe" /crash Fatal error : Memory access violation Exception : 0xc0000005 At address : 0x00401978 Flags : 0x00000000 If logToEvent is Y or y, a message will we logged to the Application log of the Windows event log. This has the same information as would be in the popup window. Note that this is currently implemented without an event message file, so you will also see some Windows text to this effect, which you can ignore. Example output : The description for Event ID ( 0 ) in Source ( Uniface 8 ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. The following information is part of the event: UNIFACE FATAL EXCEPTION !, Timestamp : Wed Jun 04 13:35:43 2003, Command line : "D:\continuus\u8-cbr8203\u8\win4\bin\idf.exe" /crash, Fatal error : Memory access violation, Exception : 0xc0000005, At address : 0x00401978, Flags : 0x00000000. If the logToFile value is supplied, it will be interpreted as a filename to which the crash message will be appended, using the same information as would be in the popup window. Of course this must be a valid file name, otherwise it will not work. Note that you can combine the three options in any desired combination. The reason this is implemented via the registry, and not via the UNIFACE assignment file, is that this exception handler is right at the start of the UNIFACE executable. In this stage the UNIFACE runtime has not been initialized yet, and assignment files have not been read.