I'm currently investigating if our D7 application wil run under Vista and if not, what we need to fix in order to make it work.
However, during the installation of our application (via InstallShield) the Borland Socket Server was installed but when trying to start the service, it timed out.
I'm logging in as administrator. (not a user with administative rights)
I even tried to only copy the scktsrvr.exe to the Vista client, install it manually and then try to start te service manually, but still it wouldn't run.
(NOTE: I tried both scktsrvr.exe from D7 and D2007.)
Finally, I'd created a simple service in D7 (which does nothing) and installed it on Vista. Then I started this service and it ran with no problems.
Can anyone tell me what I'm doing wrong or what I need to adjust, to get socket server running as a service in Vista?
Thanks,
Arno
> However, during the installation of our application (via InstallShield) the Borland Socket Server was installed but when trying to start the service, it timed out.
Most likely, it's being blocked by the Windows Firewall, but also by the
fact that it must be installed while being run in administrator mode...
If you start the scktsrvr.exe from the command-line (i.e. not as a
service), you may get a Windows Security Dialog telling you that Windows
Firewall has blocked some features of this program (yeah right, that
means it won't be able to listen to the port you want). If you then
click on the Unblock button, it will be unblocked. If you don't click on
the Unblock button, it will be blocked (and cannot communicate).
Note that you will get this question only once. And if you start it as a
service the first time, my gut feeling is that it will have marked the
scktsrvr.exe as an application that should be blocked.
To manually override this (once it is blocked - or to explicitly set it
as unblocked), go to Control Panel -> Security -> Windows Firewall ->
Allow a program through Windows Firewall (which invokes the UAC dialog)
and then explicitly enable the Socket Server to run.
That's only the first step, however. The second step is to install the
Socket Server. If you just run the scktsrvr.exe, it will NOT run as
Administrator. And to install it as a service, you even need to run it
with the /install command-line switch. As an administrator (otherwise it
will not be able to install itself and will "time out" as you noticed).
So, to solve this, I created a short cut to the scktsrvr.exe (and placed
the shortcut on my desktop), and then added the /install to the target
of the shortcut (in the properties dialog). That would give me the right
scktsrve.exe /install commandline.
Then, you only need to run that shortcut with the "Run as Administrator"
option, so right-click on it, and select "Run as Administrator", which
will give you a nice dialog again, but after you confirmed that it can
be allowed, it will run, and install itself successfully (finally).
Try this, and see if it works for you as well (and feel free to let me
know if you need other support with your migration) ;-)
> Thanks,
> Arno
Groetjes,
Bob Swart (Helmond)
--
Bob Swart Training & Consultancy (eBob42.com) Forever Loyal to Delphi
Blog: http://www.drbob42.com/blog - RSS: http://drbob42.com/weblog.xml
Delphi 2006 Courseware PDF manuals at http://www.eBob42.com/courseware