The PullApps Service
PullApps uses a Windows Service in order to perform all of the actions needed to deploy the applications without the end-user needing administrative or elevated rights. Diagnostics in the Events Log can be used to troubleshoot the causes of app delivery issues. This is especially important when used in automatic mode.
When PullApps is used in automatic mode, this small service does everything for you. It looks at the configures share folders for AppV, AppX, and Msix packages. If configured for Active Directory integration, it reads all of the security groups under the configured Organizational Unit (OU) and matches the security group names to the package names. Members of those groups may be machine or user accounts (NOTE: Machine accounts are not supported for MSIX at this time, only App-V). It then makes the appropriate authorized packages available. It performs this service for all machine apps immediately after booting (before any user logs in) and whenever a user logs in a full evaluation for both machine and user authorized apps is performed again. If the timer is configured, a refresh is done based on this interval.
When PullApps is used in self-service mode, the PullApps-SelfServe application does all of this work to determine the authorized apps that may be deployed, and when the end-user requests a change to a package deployment, it contacts the PullApps Service to perform the action on behalf of the end-user. The App and the Windows Service communicate over a named pipe, so no configuration for this messaging is required.