Windows services and servers

In this manual, the terms Perforce Service and p4d are used interchangeably to refer to "the process which provides versioning services to Perforce applications" unless the distinction between a Windows server process or a service process is relevant.

The Perforce versioning service (p4d) can be configured to run as a Windows service (p4s.exe) process that starts at boot time, or as a server (p4d.exe) process that you invoke manually from a command prompt. To run a task as a Windows server, the user must be logged in because shortcuts in a user’s startup folder cannot be run until that user logs in.

The Perforce service (p4s.exe) and the Perforce server (p4d.exe) executables are copies of each other. They are identical except for the filenames. When run, the executables use the first three characters of the name with which they were invoked (either p4s or p4d) to determine their behavior. For example:

  • p4s.exe invokes a service
  • p4d.exe invokes a server

By default, the Perforce installer configures Perforce as a Windows service.

Note

On Windows, directory permissions are set securely by default; when Perforce runs as a Windows server, the server root is accessible only to the user who invoked p4d.exe from the command prompt. When Perforce is installed as a service, the files are owned by the LocalSystem account, and are accessible only to those with Administrator access.

To allow the Perforce service to run under a regular user account, make sure that the user has read/write access to the registry key and that the user has access to the directory structure under P4ROOT.

See the Knowledge Base article "Changing the user account the Windows service runs under".