After installing or upgrading to ACS 6.1 sp1 the right-mouse clicks for file resources fail.
On the "Manage Applications" page the right-mouse click only has the option to "List Win32 Executables by Computer". Also the following error occurs when trying to click on security rating icon to set the security rating.
Description: Unable to set Security Rating for Resource : <The Guid of the selected file resource> ( Unhandled exception. Type=Altiris.NS.Exceptions.AeXException Msg=The supplied Guid (<The Guid of the selected file resource>) is not a valid file resource. Src=MSoft.ApplicationControl
Normally "File" resource types have the standard right-mouse click options typical of most resource types like Resource Manger, Delete, Move, or Properties and with ACS 6.1 sp1 was also supposed to include a right-mouse option to set the Security rating ("Blacklist" or "Whitelist" for example). These options where to be available on any page that lists the file resource types including the "Manage Applications" wizard page.Also noted in the logs can be found this error as well.
Process: aexsvc.exe (<pid>)
Description: Error encountered whilst whilst completing resource discovery for resource <File Resource Guid> from <Computer Resource Guid> ( Unhandled exception. Type=System.NullReferenceException Msg=Object reference not set to an instance of an object. Src=MSoft.FileInventory
at MSoft.FileInventory.FileInventoryManager.ClientDiscoveryCompleted(Guid FileGuid, Guid AgentGuid) )
As a file resource is loaded, its class is also loaded, but because the class guid is invalid, a matching class cannot be found thus getting either the object reference errors or the invalid file resource type error.
As a work around the following SQL command should be run against the Altiris database. This query has three parts. The first two parts update the File resource type and its XML so that all new File resource types get the correct class guid when those resources are created. The third part updates all existing File resources with the correct class guid.
Before running the SQL command, the Altiris service and IIS will need to be stopped so that the XML change will get loaded.
After the SQL commands have been run and updated the records, restart IIS and the Altiris service.
UPDATE i set State=Stuff(cast(state as nvarchar(max))
FROM Item i where guid='018B191B-47AE-4180-9FCD-7F3CEA4F1E12'
and state like '%<resourceTypeClassGuid>________-____-____-____-____________</resourceTypeClassGuid>%'
and state not like '%<resourceTypeClassGuid>AFC93E7A-6E47-42ef-B2EF-2785C8BF5345</resourceTypeClassGuid>%'
UPDATE ResourceType SET ClassGuid='AFC93E7A-6E47-42ef-B2EF-2785C8BF5345'UPDATE i SET ClassGuid='AFC93E7A-6E47-42ef-B2EF-2785C8BF5345'
FROM Item i join ItemResource ir on ir.Guid=i.Guid
All three SQL commands can be run multiple times; however only the first time should update the records.
Application Control 6.1 sp1