When you install an application using Windows Installer, it will try to return to the path it was installed from when it needs to install new components, repair the application, or update it. In case the sources were downloaded to the ccmcache folder, they may not exist anymore and therefore the user may be prompted for the source path unless the operation fails silently in background. To prevent this, an action called Source List Update was introduced in SCCM 2007 that sets an additional source location. The documentation hasn’t been updated since the days of SCCM 2007 but the feature is still available in Current Branch. So what do you need to do to make it work?
Windows Installer Source Location Manager automatically searches Configuration Manager distribution points for the source files, even if the application was not originally installed from a distribution point. It then adds a path to the source list in the registry.
Source lists entries are usually located in one of the following locations:
The Source Location Manager adds the key URL under SourceList with links to the source location on the Distribution Point.
The Source Location Manager can be triggered by running a Windows Installer Source List Update Cycle.
It logs to C:\Windows\CCM\Logs\SrcUpdateMgr.log
The source list update will only work if the following conditions are fulfilled:
- For Applications, the Product code must be set on the Programs tab of the Deployment Type.
For Packages, the product code has to be entered on the Windows Installer tab of the Program.
Furthermore, access to the sources requires Allow clients to connect anonymously to be set on the Communications tab of the Distribution Point (mind that msiexec will try to perform the repair under the system account). The configuration is not possible if HTTPS is set (see Windows Installer source list update fails when distribution points are configured for HTTPS)
This will configure IIS accordingly:
When does the source list update cycle run?
Management point change, network change, running a program with associated Windows Installer information, user logon/logoff and some others. There is no interval. See https://docs.microsoft.com/en-us/previous-versions/system-center/configuration-manager-2007/bb892810(v=technet.10)#updating-windows-installer-source-location-manager
Does the Repair feature that was introduced with 1810 rely on source list updates as well?
Since version 1810, you can specify a repair command. For Windows Installer based installations, you usually enter msiexec /f [p|o|e|d|c|a|u|m|s|v] Package|ProductCode /q.
The behavior when launching a repair from the Software Center doesn’t differ from running the repair by triggering it from Programs and Features – if the alternative path isn’t set properly and the sources have been removed from ccmcache, the repair will fail.
About Windows Installer Source Location Manager: https://docs.microsoft.com/en-us/previous-versions/system-center/configuration-manager-2007/bb892810(v=technet.10)
Install and configure distribution points in Configuration Manager: https://docs.microsoft.com/en-us/sccm/core/servers/deploy/configure/install-and-configure-distribution-points#bkmk_config-comm
SCCM application source list management: https://social.technet.microsoft.com/Forums/en-US/01496773-00a6-4a1f-a8b4-843f7e79d372/sccm-2012-application-source-list-management
Windows Installer source list update fails when distribution points are configured for HTTPS: https://support.microsoft.com/en-us/help/2905510/windows-installer-source-list-not-update-with-https-distribution-point
What’s new in version 1810 of Configuration Manager current branch – Repair applications: https://docs.microsoft.com/en-us/sccm/core/plan-design/changes/whats-new-in-version-1810#repair-applications
Windows Installer Command-Line Options: https://docs.microsoft.com/en-us/windows/win32/msi/command-line-options