Customer finds packages with blank names. Those packages keep 'retrying to download' and most of them don't have a Source Location defined.
Unknown. It's possible that when those packages were in the process of being created, some references were missing or incomplete.
Deleting packages with blank names can be a complicated process. Without knowing where in the Console they exist it's difficult to find them to do a right-click and delete.
You can use the package Guid and try to see where in the Console they exist. It is most likely they reside under "Resource Management/Resources/Software Management/Software Packages", which is a hidden directory.
Note: The following steps need to be done in all the nodes if it is a Hierarchy Environment.
1. The safest way to remove those packages is using the Delete option within the console. The following query helps to identify what packages have a blank name. Run this query on the Parent and Child NS to see where those blank packages may exists):
SELECT vp.Guid AS _ItemGuid ,vp.NAME ,vp.CreatedBy ,cast(vp.CreatedDate AS NVARCHAR(111)) AS 'Created By' ,isnull(p.[Package Location], CAST(vp.STATE AS XML).value('(/item/source/@location)', 'nvarchar (max)')) AS 'Package Location' ,p.[Package Size] ,vprod.NAME 'Solution' ,rt.NAME 'ResourceType' FROM vRM_Package_Item vp LEFT JOIN vProduct vprod ON vprod.ProductGuid = vp.ProductGuid LEFT JOIN ResourceType rt ON rt.Guid = vp.ResourceTypeGuid LEFT JOIN ( SELECT PackageId ,[Package Location] ,[Package Size] FROM SWDPackage p WHERE p._Latest = 1 AND NAME LIKE '' AND ( [Package Location] LIKE '' OR [Package Location] NOT LIKE '%\%' ) AND ( [Package Size] IS NULL OR [Package Size] = 0 ) ) p ON p.PackageId = vp.Guid WHERE vp.NAME LIKE ''
To delete the blank packages create a new report in the console using the SQL and use the right-click delete option.
For large numbers of packages or to automate the process the following can also be used to insert the Guids for those packages into the ItemToDelete table.
INSERT INTO ItemToDelete SELECT p.Guid, GETDATE() FROM RM_ResourceSoftware_Package p LEFT JOIN ItemToDelete d ON d.Guid = p.Guid WHERE p.name like '' UNION SELECT p.Guid, GETDATE() FROM RM_ResourcePackage p LEFT JOIN ItemToDelete d ON d.Guid = p.Guid WHERE p.name like '' AND d.Guid is null
2. Run the NS.Quarter-Hour Scheduled Task. Note: Alternatively use a command line to call the internal item to delete schedule: Run the following command from a command prompt pointing to the "...Program Files\Altiris\Notification Server\bin" folder:
3. Then run the following to verify that the ItemToDelete table was cleared out:
EXEC sp_spaceused ItemToDelete
4. Then update your Policies (run the Policy Filter Update Scheduled Task) and go to the Site Server and request new configuration. The process forces the agent to get a new client policy where the packages with blank names are no longer present.
A task is attached to this article that, when imported and scheduled to run, automatically causes packages with blank names to be deleted.
- Download "Cleanup Task.zip" to "C:\Temp" or a folder of choice and extract it.
- Open a command prompt and go to ".\Program Files\Altiris\Notification Server\bin\Tools"
- Run the following command: ImportExportUtil /import "C:\Temp\dpbn.xml"
- There will be a task named "Delete packages with Blank Names" under "Manage > Jobs and Task > System Jobs and Tasks". Schedule the task to run once per day or however often it seems necessary.