When creating relationships between Add/Remove programs display names and Package ID/Program names, it occurred to me that manually modifying the database is tedious and time-consuming. Even creating procedures to import directly from the ARP table in the CCM database is time-consuming, removing the junk items and generally tidying up the clutter.
I therefore decided to spend 15 minutes putting together a really simple front-end to manage the links. It allows the creation of mappings based on a package/program (i.e. to map the same program to multiple ARP names), which is much easier to manage than creating individual ARP display name values and then having to input the same package ID and program for each one. It’s also much easier to see what you already have and gives the ability to search for existing packages or mappings to modify, delete or add new ones.
I have made this available via the Downloads section of this site [Link], there are however a few things to bear in mind:
- I am not a developer, therefore what I’ve put together is probably poorly coded and full of bugs, but it seems to do the job.
- It requires a precise design for the PackageMapping table (shown below), including the addition of a ‘Comments’ field which isn’t there as standard.
- It requires .Net Framework 3.5 client on the machine that’s running it, but a database server/instance and database can be specified for remote execution.
- The user running the program will require Connect, Select, Update, Insert and Delete permissions on the MDT Database to perform all functions.
- Always make a full backup of the database before using any third-party tools on it, especially mine.
- I provide the tool free of charge in the case that others can benefit from it, but cannot be held responsible for any loss of data that results from its use.
PackageMapping table design required:
- ARPName [Primary Key] : nvarchar(255) : Allow Nulls – False
- Packages : nvarchar(255) : Allow Nulls – True
- Comments : nvarchar(MAX) : Allow Nulls – True