Skip to content

IExtensionManager Interface

Loads extensions and uses the extensions’ factories to provide services.

MethodDescription
Add(extensionAssembly)Adds an extension assembly directly to the manager.
GetCacheLocations()Gets extensions cache locations.
GetExtensionPackageRootFolderName()Gets the root folder name used in extension’s package.
Load(extensionReference)Loads an extension assembly from an extension reference string.
WixToolset.Extensibility.dll version 5.0.0+41e11442b2ca93e444b60213b5ae99dcbab787d8

Adds an extension assembly directly to the manager.

public void Add(
System.Reflection.Assembly extensionAssembly
)
ParameterTypeDescription
extensionAssemblySystem.Reflection.AssemblyExtension assembly.

Gets extensions cache locations.

public System.Collections.Generic.IReadOnlyCollection<WixToolset.Extensibility.Data.IExtensionCacheLocation> GetCacheLocations()

System.Collections.Generic.IReadOnlyCollection<WixToolset.Extensibility.Data.IExtensionCacheLocation> List of cache locations where extensions may be found.

GetExtensionPackageRootFolderName() Method

Section titled “GetExtensionPackageRootFolderName() Method”

Gets the root folder name used in extension’s package.

public string GetExtensionPackageRootFolderName()

string Root folder name to find extension in a package.

Loads an extension assembly from an extension reference string.

public void Load(
string extensionReference
)
ParameterTypeDescription
extensionReferencestringReference to the extension.

void The loaded assembly. This assembly can be ignored since the extension manager maintains the list of loaded assemblies internally.

extensionReference can be in several different forms:

  • Full path to an extension file (C:\MyExtensions\MyExtension.Example.wixext.dll):
  • Reference to latest version of an extension in the cache (MyExtension.Example.wixext):
  • Versioned reference to specific extension in the cache (MyExtension.Example.wixext/1.0.2):
  • Relative path to an extension file (…\MyExtensions\MyExtension.Example.wixext.dll):