This one has been a little trick for me and I haven't had the time to really make the report work 100%, but I will share with you what I did manage to get done.
It's a little tough for a couple of reasons. First, IE 6 doesn't show up as an add/remove programs entry. Second, at least in my Altiris environment, machines upgraded to IE 8 from 7 seem to show both as installed in Altiris-land.
So basically what I have is a report that shows three things:
Blank Add/Remove Programs Displayname for IE6
Machines Altiris thinks have IE7 (likely inaccurate)
Machines Altiris thinks have IE8 (likely pretty accurate)
I grab a few fields for each machine and do some joins, including an add/remove programs class join. This join is where I specify to grab machines w/addremove programs displayname = IE7 or IE8. In the Where clause, I grab the IE6 machines by specify machines where resource guid is null (these are the blank AddRemove.DisplayName machines).
Then I grab machines with IE7 or IE8.
See below:
DECLARE @v1_TrusteeScope nvarchar(max)
SET @v1_TrusteeScope = N'%TrusteeScope%'
SELECT
[vri2_Computer].[Name],
[dca4_AeX AC Identification].[Client Date],
[dca3_AddRemoveProgram].[DisplayName]
FROM
[vRM_Computer_Item] AS [vri2_Computer]
LEFT OUTER JOIN [Inv_AddRemoveProgram] AS [dca3_AddRemoveProgram]
ON ([vri2_Computer].[Guid] = [dca3_AddRemoveProgram].[_ResourceGuid] AND ([dca3_AddRemoveProgram].DisplayName = N'Windows Internet Explorer 7' OR [dca3_AddRemoveProgram].DisplayName = N'Windows Internet Explorer 8'))
LEFT OUTER JOIN [Inv_AeX_AC_Identification] AS [dca4_AeX AC Identification]
ON ([vri2_Computer].[Guid] = [dca4_AeX AC Identification].[_ResourceGuid])
LEFT OUTER JOIN [vAsset] AS [ajs4_vAsset]
ON ([vri2_Computer].[Guid] = [ajs4_vAsset].[_ResourceGuid])
LEFT OUTER JOIN [vOSOperatingSystem] AS [vOS]
ON ([vri2_Computer].[Guid] = [vOS].[_ResourceGuid])
WHERE
(
(
(
[dca3_AddRemoveProgram].[_ResourceGuid] IS NULL
OR
[dca3_AddRemoveProgram].DisplayName = N'Windows Internet Explorer 8'
OR
[dca3_AddRemoveProgram].DisplayName = N'Windows Internet Explorer 7'
)
AND
([ajs4_vAsset].[Status] = N'Active')
AND
([vOS].[Name] LIKE '%Windows XP%')
)
AND
([vri2_Computer].[Guid] IN (SELECT [ResourceGuid] FROM [ScopeMembership] WHERE [ScopeCollectionGuid] IN (SELECT [ScopeCollectionGuid] FROM dbo.fnGetTrusteeScopeCollections(@v1_TrusteeScope))))
)
The next step here would probably be to add some case statments for:
1. Case where resourceguid is null, set the displayname to IE6
2. Case where machine has both ie7 and ie8, make the diplayname IE8.
That might work for you.
Otherwise, maybe inventory the c:\program files\internet explorer folder and just a report on the version of iexplore.exe - might be easier than trying to deal w/things from the add/remove programs aspect...