Environment: a SQLServer 2005 server; Windows 7 workstations.
Process:
One workstation is running an application that opens a named pipe; upon receiving a connection request, it sends a SQL UPDATE command to the SQL server. Communication on the named pipe is one-way -- once the connection is made, that triggers the SQL UPDATE action; the named pipe connection is closed and the program awaits another connection.
My Problem:
The application opening the "named pipe" is started each morning via a BAT file which executes a RUNAS command specifying a user of <domain>/sqluser. This works perfectly.
However, the BAT file itself is kicked off under a user account, so if that account were to log off, the task would go away. So, I thought I would convert the app to a Service where it could be initiated at workstation startup, outside any specific user session. It would always be available so long as the workstation is up.
Modifying it to be a service went well, and the app installs cleanly, starts/stops cleanly. However, it reaches the point of listening for a named pipe request, but never hears it. I've tried several other user accounts, but nothing works.
Does anyone know what would cause a Service running named pipes to not listen, when the nearly-identical standalone app listens fine, using the same credentials?