As mentioned before, I’ve recently started a new assignment, one that required me to design and roll out a System Center Configuration Manager solution for 4 locations.
While that wasn’t too difficult and the configuration was quite straightforward [thanks to my friends at Manning and Google], the biggest challenge came when creating packages to deploy. Luckily I was quite familiar with packaging and .MSI editing due to various MDT configurations I had made, but the latest “Current Branch” version of SCCM has “Applications”, which are smart packages [pieces of software] which you can deploy, but also uninstall if you want.
Great stuff, exactly what we needed…
If you don’t have the software in an .MSI format, you will need to manually enter various information in order for it to become “smart”, otherwise the application will only be able to install itself and possibly retry.
What kind of information do we need and where can we find it?
First, we’ll need to install the software we want to package on a dummy/test machine, so we can find certain behaviour of the program, then we need to scour the registry for the following info:
- The DisplayName
- The DisplayVersion
- The UninstallString
- The Registry Key where this is all located
Now my solution isn’t “perfect” yet, as currently I KNOW I only have to check x64 machines, but the code can be easily manipulated to do a check on system architecture :
but for now it will do just fine:
Simply start the script, defining the name of the application or part of it and see the magic unfold 🙂
Happy Scripting! 🙂