Relevant area(s)
COM API
Relevant command(s)
No response
Brief description of your issue
Calling: packageManager.CreateCompositePackageCatalog(createOptions).Connect();
returns CatalogError when using CompositeSearchBehavior.LocalCatalogs (or any other catalog), unless
the application references Microsoft.WindowsPackageManager.InProcCom version 1.11.510 or higher.
Noticed this behavior appearing in the last 2–3 weeks without any code changes in my projects.
Steps to reproduce
using Microsoft.Management.Deployment;
static void Main(string[] args)
{
var packageManager = new PackageManager();
var createOptions = new CreateCompositePackageCatalogOptions
{
CompositeSearchBehavior = CompositeSearchBehavior.LocalCatalogs
};
var packageCatalogs = packageManager.GetPackageCatalogs();
foreach (var cat in packageCatalogs)
{
createOptions.Catalogs.Add(cat);
}
var compositeConnectResult =
packageManager.CreateCompositePackageCatalog(createOptions).Connect();
// compositeConnectResult.Status == CatalogError
var options = new FindPackagesOptions();
var result = compositeConnectResult.PackageCatalog.FindPackages(options); // This throws null exception
}
Expected behavior
packageManager.CreateCompositePackageCatalog(createOptions).Connect() should:
Behave consistently across supported InProcCom versions and not randomly stop working in older versions.
Actual behavior
Connect() returns CatalogError in older versions
Environment
Windows 10 or Windows 11 device