2007 Console Extension
<ActionDescription Class="Group" DisplayName="Test" MnemonicDisplayName="Test" Description="WMI" SqmDataPoint="53">
<ActionGroups>
<ActionDescription Class="Executable" DisplayName="Uninstall program" MnemonicDisplayName="Mnemonic" Description="Description">
<Executable>
<FilePath>Wmic</FilePath>
<Parameters> /node:##SUB:Name## product where name="Program A" call uninstall /nointeractive </Parameters>
</Executable>
</ActionDescription>
</ActionGroups>
</ActionDescription>
2012 Console Extension
<actiondescription class="Group" displayname="small1" mnemonicdisplayname="small” description="small" RibbonDisplayType="TextAndSmallImage">
<ShowOn>
<string>DefaultContextualTab</string>
<string>ContextMenu</string>
</ShowOn>
<ResourceAssembly>
<Assembly>AdminUI.CollectionProperty.dll</Assembly>
<Type>Microsoft.ConfigurationManagement.AdminConsole.CollectionProperty.Properties.Resources.resources</Type>
</ResourceAssembly>
<ImagesDescription>
<ResourceAssembly>
<Assembly>AdminUI.UIResources.dll</Assembly>
<Type>Microsoft.ConfigurationManagement.AdminConsole.UIResources.Properties.Resources.resources</Type>
</ResourceAssembly>
<ImageResourceName>ImportObject</ImageResourceName>
</ImagesDescription>
<ActionGroups>
<ActionDescription Class="Executable" DisplayName="small2" MnemonicDisplayName="small2" Description = "small2" RibbonDisplayType="TextAndSmallImage">
<ShowOn>
<string>DefaultContextualTab</string>
<string>ContextMenu</string>
</ShowOn>
<ResourceAssembly>
<Assembly>AdminUI.CollectionProperty.dll</Assembly>
<Type>Microsoft.ConfigurationManagement.AdminConsole.CollectionProperty.Properties.Resources.resources</Type>
</ResourceAssembly>
<ImagesDescription>
<ResourceAssembly>
<Assembly>AdminUI.UIResources.dll</Assembly>
<Type>Microsoft.ConfigurationManagement.AdminConsole.UIResources.Properties.Resources.resources</Type>
</ResourceAssembly>
<ImageResourceName>ImportObject</ImageResourceName>
</ImagesDescription>
<Executable><FilePath>test.exe</FilePath>
<Parameters></Parameters></Executable>
</ActionDescription>
</ActionGroups>
</actiondescription>
Explaination:
<ShowOn>
This determines where the icons will appear on the Ribbon:
DefaultContextualTab
DefaultHomeTab
<ResourceAssembly>.....</ImagesDescription>
This allows us to determine what icon will appear. If you don't use this section then it will use a circle for the icon
RibbonDisplayType="TextAndSmallImage">
Another trick up at the top of XML in the ActionDescription section is to make the icon small. By using this the icon will shrink, if you leave it out it will simply be a large icon.