The Software Distribution (SFD) Agent plays a crucial role in tracking processes during application deployment on Windows devices. The SFD Agent is automatically installed with the Intelligent Hub for Windows and does not require additional actions to use the functionality described. When deploying Windows applications using the Software Distribution framework, the SFD Agent ensures that installation and uninstallation processes are completed successfully by monitoring all related activities.
To ensure accurate process tracking, the SFD Agent uses a Windows Job Object to run installers and uninstallers, which provides the following capabilities:
- Process Hierarchy Tracking: Monitors the root installer or uninstaller process and all child processes it spawns.
- Completion Detection: Determines when all processes associated with installation or uninstallation have finished.
- Timeout Enforcement: Implements a maximum execution time (default 60 minutes) to avoid prolonged delays.
For additional information about Windows Software Distribution, see the article at https://techzone.omnissa.com/resource/deploying-workspace-one-uem-applications-windows-devices.
Tracking Workflow for Installation and Uninstallation
The SFD Agent uses a unified mechanism for tracking both the installation and uninstallation of applications. The key elements include:
- Job Object Creation - When the execution begins, SFD creates a Windows Job Object and assigns the root installer or uninstaller process to it.
- Child Process Inclusion - Any child processes launched by the root process are automatically added to the same job.
- Monitoring - SFD monitors the job until all processes have completed or the maximum timeout is reached.
- Failure Handling - If the timeout occurs before all processes are completed, SFD logs the active processes and marks the deployment as failed. In the event of a failure, the processes that were completed earlier are rolled back, and an uninstallation command is triggered.
Delays in Installations and Uninstallations
Some installers launch background or helper processes that remain active after the main setup program exits. Listed are a few examples:
- Post-install configuration scripts
- Services that start during installation
The SFD Agent monitors all child processes within the Job Object and remains in a waiting state until they are completed before reporting the task as finished. This process-tracking mechanism ensures that installations and uninstallations are fully completed before reporting success. However, if an installer creates long-running background processes or services, the SFD Agent waits for them to finish or until the timeout period is reached. This may cause delays in the overall deployment process.
Was this page helpful?