2

If I try to terminate the Borland SocketServer application for Delphi 2009 the message above appears.

The application window remains open and I can only terminate the application in the task manager.

Operating system is Windows 2000 Professional SP4

The same error also occurs with the Delphi 2007 version of scktsrvr

mjn
  • 36,362
  • 28
  • 176
  • 378
  • Be aware that the socket server can't handle 64 bit data. –  Jan 14 '11 at 16:17
  • @ldsandon tested on Windows 7 64 Bit and it seems to work - where does the 64 bit limitation show up? – mjn Jan 14 '11 at 16:53
  • 1
    When you try to send back and forth Int64 data... see QC #69741 and #69924 –  Jan 14 '11 at 19:22

2 Answers2

4

scktsrvr attempts to store its settings under HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Socket Server registry key which probably fails under a limited user account. Try running it as administrator, or as a service.

Edit: you can also modify it to use HKEY_CURRENT_USER, for example. It comes with source code.

Ondrej Kelle
  • 36,941
  • 2
  • 65
  • 128
  • a candidate for a QC entry perhaps - or maybe it is changed in XE, as I see no reason to require this registry key branch and the need for Administrator privileges – mjn Jan 14 '11 at 15:16
  • People seems to forget that ACLs can be set on registry keys as well. You don't need Administrator privilege even in HKLM as long as other permissions allows. System wide settings should be stored in HKLM, but proper permission should also be set upon them. Giving "Administrator" privilege is just a lazy (and dangerous) way to perform it. –  Jan 17 '11 at 09:53
0

Run the socketserver as a service, and add the proper permission to the registry key the service user needs to set. Remember that the user you use to run the SocketServer is important. The server acts like a proxy, and in turn call the DCOM server that implements the remote server. Unless changed, the user of the connecting process is used for DCOM security, thereby you have to ensure the right user is used, or you may lead to big vulnerabilities.