Configuration Manager Console Icons

Applies To: System Center Configuration Manager 2007, System Center Configuration Manager 2007 R2, System Center Configuration Manager 2007 R3, System Center Configuration Manager 2007 SP1, System Center Configuration Manager 2007 SP2

You can use icons with Microsoft System Center Configuration Manager 2007 console actions, nodes, queries, and objects. The icons can be static, or the Configuration Manager 2007 console can dynamically display an icon based on the result of a method you implement. You can also display an icon based on the value of a Configuration Manager object property.

The ImagesDescription element is used to describe an icon. The following XML describes an executable action that uses an icon called WebNavigation.

<ActionDescription Class="Executable" DisplayName="GiveFeedbackMenuItem" MnemonicDisplayName="GiveFeedbackMnemonic" Description="GiveFeedbackMenuItemDescription">
    <ResourceAssembly>
        <Assembly>Microsoft.ConfigurationManagement.dll</Assembly> 
        <Type>Microsoft.ConfigurationManagement.AdminConsole.Properties.Resources.resources</Type> 
    </ResourceAssembly>
    <ImagesDescription>
        <ResourceAssembly>
          <Assembly>AdminUI.UIResources.dll</Assembly> 
              <Type>Microsoft.ConfigurationManagement.AdminConsole.UIResources.Properties.Resources.resources</Type> 
        </ResourceAssembly>
        <ImageResourceName>WebNavigation</ImageResourceName> 
    </ImagesDescription>
    <Executable>
        <FilePath>https://go.microsoft.com/fwlink/?LinkId=67307</FilePath> 
    </Executable>
</ActionDescription>

Static Icons

Static icons are loaded from a resource you specify in the ResourceAssembly element. The ResourceAssembly element specifies the icon in the resource to use. The preceding XML example shows a static icon being used.

Dynamic Icons

The Configuration Manager console can determine which icon to display by calling a method in an assembly that you define. The signature for the method you implement is:

public static bool GetIcon(object sender, ScopeNode scopeNode, IResultObject resultObject, out AssemblyDescription resourceAssembly)

If the method returns true, the Configuration Manager console uses the icon you return in an AssemblyDescription object. AssemblyDescription contains information about the resource assembly that contains the icon to be displayed.

If the method returns false, the Configuration Manager console uses the default icon for the object. The ExternalImage element defines the method to be called and the ResourceAssembly element defines the assembly where the method is implemented. The following XML shows the GetSiteIcon method that is being used to get an icon.

<ImagesDescription>
    <ExternalImage>
        <Assembly>AdminUI.SiteSystems.dll</Assembly> 
        <Type>Microsoft.ConfigurationManagement.AdminConsole.SiteSystems.DisplayUtilities</Type> 
        <Method>GetSiteIcon</Method> 
    </ExternalImage>
    <ResourceAssembly>
        <Assembly>AdminUI.UIResources.dll</Assembly> 
        <Type>Microsoft.ConfigurationManagement.AdminConsole.UIResources.Properties.Resources.resources</Type> 
    </ResourceAssembly>
    <ImageResourceName>SecondarySite</ImageResourceName> 
</ImagesDescription>

Icon Alias

You can show an icon that is based on the value of an object property by using the AliasProperty attribute of the ImagesDescription element. The Configuration Manager console evaluates the value of the object property and loads the appropriate icon. In the following XML, the alias property is OwnedBySite, which is a property of SMS_Collection. The property value can be true or false. Correspondingly, there is an icon resource for CollectionsIcon that includes two icons appropriate for true and false values. If, during evaluation, OwnedBySite is true, the owned by site icon is displayed; otherwise the not owned by site icon is displayed.

<ImagesDescription AliasProperty=" OwnedByThisSite ">

<ResourceAssembly>

<Assembly>AdminUI.UIResources.dll</Assembly>

<Type>Microsoft.ConfigurationManagement.AdminConsole.UIResources.Properties.Resources.resources</Type>

</ResourceAssembly>

<AliasResourceAssembly>

<Assembly>AdminUI.UIResources.dll</Assembly>

<Type>Microsoft.ConfigurationManagement.AdminConsole.UIResources.SMS_Collection-OwnedByThisSite.resources</Type>

</AliasResourceAssembly>

<ImageResourceName> CollectionsIcon </ImageResourceName>

</ImagesDescription>

See Also

Concepts

Configuration Manager Console Actions
Configuration Manager Console Nodes