Table of Contents
ADP Live Blog Series #5
This blog post is part of our ADP Live Blog Series, where we share what we have discussed during our ADP Live sessions. ADP Live is an internal development opportunity where one of us shares their expertise in a specific area with the team. This time, the topic was Application Packaging in SCCM.
Application packaging in SCCM is a process where a software installation is prepared and packaged in a format that can be distributed and installed on devices within an organization. It helps to standardize and centralize software installations, making it easier to monitor and manage software versions and updates. We will go through how packaging, deployment, and troubleshooting can be done.
How does packaging work?
Packaging can be done in different ways depending on the media used. By choosing the right type of media, you can streamline the distribution process and make it more user-friendly for your target audiences. Below, we go through some:
MSI (Microsoft Installer) is a standard for distributing software on Windows platforms. MSI files are the installation files that contain information about how the software should be installed on the user’s computer. The MSI file keeps track of which files should be copied to which location on the user’s computer, which settings should be made, and which registry entries should be created or updated. This is a type of installation file that contains all the necessary information to install the application on the computer. MSI files are usually easier to package and distribute than other types of installation files. Most of the work is done by Configuration Manager itself, so in 90% of cases, these are quick and easy to work with.
EXE files are files with the executable file format in Windows. They contain code written in a programming language such as C, C++, Visual Basic, Java, etc. When an EXE file is run, it performs a certain task, such as installing software, starting a software application, or running a system tool. In the context of application packaging in SCCM, EXE files are often used to distribute software. By creating an installation for a software in the form of an EXE file and distributing it to target devices via SCCM, you can ensure that the software is installed correctly and with the right settings on all target devices. In many cases, .exe files can be easier to distribute than other types of installation files because they do not require any special installation software on target computers.
PowerShell and CMD scripts
In application packaging in SCCM, both PowerShell and CMD scripts can be used to configure and install applications on computers connected to SCCM.
PowerShell scripts can be used to automate more advanced tasks that require logic and conditions, such as creating or deleting files and registry entries, calling other commands and programs, or interacting with web services or databases.
CMD scripts can be used to perform simpler tasks such as installing or uninstalling programs, creating or deleting folders or files, and performing simple configuration tasks. In SCCM, the scripts can then be packaged and distributed together with the program installation. The scripts can also be called at various points in the installation process to make additional configurations and customizations.
Once the application has been packaged, it’s time to deploy it to end-users and their computers. Before doing so, testing should always be performed. It’s usually sent out to system administrators who confirm that everything is functioning correctly.
When the package is ready to be sent out to users’ computers, it’s done so via collections. Collections often retrieve objects from Active Directory through a query or direct rule from SCCM. They can be used in conjunction with distribution elements in SCCM, such as forced distribution and available distribution, to efficiently and specifically distribute software and updates to the computers that need them.
Recuired deployment involves automatically and mandatorily distributing an application or update to all computers in selected groups. This can be useful if you want to ensure that all computers in an organization have the necessary updates or software installed to meet security requirements and other standards.
Available deployment allows users to choose to install or upgrade an application or update from SCCM Software Center. The application or update is listed as “available” in Software Center, and users can choose to install or upgrade the software when they want or when they are reminded to do so.
During the deployment process, various settings and configuration options can be customized, such as which computers will receive the software, which version of the program to install, and whether any additional configuration steps or installations should be performed at the end of the installation.
In SCCM, an application or update can be replaced by another version or another application. This is called “supercedence”. If you are going to package a new version of a program, the previous version is set as superceded. In such a case, you should ensure that the new version does not have the same product code. If it does, the system will not detect that there is new software to install, and nothing will happen. In this case, you should set a new “detection method”.
When installing or upgrading an application in SCCM through Software Center, you may encounter error messages or error codes. It is important to investigate these error codes, as they can help you identify the cause of the problem and find a solution.
View the error code in Software Center.
Examining error codes in Software Center is an important part of troubleshooting in SCCM, as it helps you identify, resolve, and prevent problems with applications and updates.
It is important to note that error codes are not always displayed in Software Center, so it may be necessary to check logs to obtain more information about the problem. You should also check SCCM server logs to get a complete picture of the problem and to see if there are any additional error codes that are not displayed in Software Center.
Examine logs with CMTrace.
CMTrace is a tool developed to help read and analyze logs from SCCM. Here you can see the errors in a little more detail.
CMTrace. Error Lookup.
Enter the error code in the Error Lookup function in CMTrace to easily find a description of the error code and an explanation of why it occurred.
- To use the Error Lookup function in CMTrace, do the following:
- Open CMTrace and select the log file you want to examine.
- Select the row that contains the error code you are interested in.
- Click “View” in the toolbar and select “Error Lookup.”
- CMTrace will open a window with a description of the error code, including an explanation of why it occurred.
Finally, we would like to recommend some useful tools for packaging applications.
InstEd – A freeware-based software for MSI editing. Here you can open MSI files and see valuable information such as product code, version, etc.
BeCyIconGrabber – BeCyIconGrabber is an app that extracts icons from resource files (DLL, ICL, OCX, CPL, SRC, ICO, and CUR).