In this article, we will take a look at Package Conversion Manager in SCCM and learn how to use it. The SCCM Package Conversion Manager (PCM) helps you convert legacy packages into applications.
Microsoft recommends using applications over packages because they offer more benefits. For example, you can define a detection method for an application, which is not possible with a package. Applications, as opposed to packages, can be updated more easily. Overall, managing applications with Configuration Manager is easier than managing packages.
A Configuration Manager application contains files and programs that you deploy to client devices. However, unlike legacy packages and programs, an application provides additional user-centric functionality. For example, an application might contain deployment types for a local installation of a software package, a virtual application package, or a version of the application for mobile devices.
The package conversion manager feature was first introduced in SCCM 1806, and it has been improved in the current branch versions. Some of the latest improvements to PCM include.
- Scheduled package analysis runs every 7 days by default.
- PowerShell cmdlets for analyzing and converting packages.
- General bug fixes and improvements.
The integrated version of Package Conversion Manager works on packages in the Configuration Manager current branch site. It’s not a standalone tool. If you have packages and programs in an older version of Configuration Manager, first migrate the packages into your current branch site.
What is Package Conversion Manager in SCCM
The Package Conversion Manager helps you convert Configuration Manager legacy packages into applications. You can use the SCCM package conversion manager to analyze all the existing packages and decide to convert them into new applications. Once the applications are created, you may get rid of legacy packages by deleting them.
When you have a software that you want to deploy, you can either create an application or package in SCCM. The applications in SCCM provide additional benefits such as dependencies, requirement rules, detection methods, and user device affinity.
In Configuration Manager, there are distinctions between applications and packages. When you create an application, you specify far more details than you do when you create a package. If you want to abandon packages in favour of applications, package conversion manager can help.
Also Read: Find SCCM Applications Without Deployments
Are the Packages deleted after they are converted to Applications?
Most administrators are concerned about existing packages being deleted after they have been converted to Applications using package conversion manager. The good news is that during the package conversion process, the package conversion manager will not delete or modify your existing packages. The conversion process will create a new application while leaving the original package untouched.
Analyze Packages with Package Conversion Manager
The first step in using the package conversion manager is to analyze the package. You have to do this manually for all your packages. Only after analyzing the packages, they can be converted to applications.
Perform the following steps to analyze a package in Configuration Manager.
- In the Configuration Manager console, go to the Software Library workspace. Expand Application Management, and select the Packages node.
- You can either select one package or multiple packages and analyze them. I have got two packages that I want to analyze, and they are Adobe reader and Notepad++.
As an example, we have selected the Adobe Reader package and on the top ribbon select Analyze Package. You can also right-click a package and choose Analyze Package.
When the selected package has been analyzed, the result should be displayed in the Readiness column. In our case, both packages display the readiness state as Manual.
Package Conversion Manager Readiness States
Before converting a package to an application, you must analyze the package using the Package Conversion Manager Analyze function. After the analysis, add the Readiness column in the Packages node of the Configuration Manager console. The list of packages displays one of the following readiness states of the analyzed package.
|Package Readiness State||Description|
|Automatic||The package can be directly converted using the Convert function.|
|Manual||The package needs some additions or changes before you can convert it using the Fix and Convert function.|
|Not Applicable||The package isn’t suitable for conversion. Either resolve any problems with the package, or continue to deploy it as a package.|
|Error||The package contains errors. Manually correct these errors before you can analyze and convert it.|
|Unknown||SMS Provider is not functioning properly. The Configuration Manager console, including the Package Conversion Manager, doesn’t work.|
In this article, we’ll look at all the readiness states represented by package conversion manager and figure out what to do with each one.
Useful Article: Enable SCCM Implicit Uninstall of Applications
SCCM Package Readiness Unknown
In some cases, you’ll notice that a package shows the readiness status as unknown. When the SMS Provider is not functioning properly, the Unknown readiness state for the package appears. The Configuration Manager console, including the Package Conversion Manager, doesn’t work.
Convert Legacy Packages to Applications using Package Conversion Manager
In this section, we will demonstrate how you can convert your legacy packages to applications with the help of package conversion manager. As an example, we will select a 7z package and convert it to an application.
Notice that the readiness column for 7z package shows as Automatic. This means the package is ready to be converted to an application without any issues.
To convert a legacy package to an application, select the package and on the top ribbon, click Convert Package.
A new window appears requesting to confirm the conversion of the selected packages into new application objects. The new application objects will be created based upon the settings contained within the selected packages. Click OK to confirm the SCCM package conversion.
A progress window shows the progress of your legacy packages being converted to new applications. In the background, the application objects are created based on the packages that have been selected. The entire operation takes about few minutes to complete.
Once the legacy packages are converted to applications, you will see them in the Applications node of the Configuration Manager console.
In the screenshot below, we see a new 7z application, and it is visible in the Applications node. The newly created 7z application now includes an uninstall command, which was not included with legacy package. It’s incredible to see how easily the package conversion manager in SCCM can convert packages to applications.
Fix and Convert Packages with Package Conversion Manager
When the packages in Configuration Manager display their Readiness state as Manual, you must use the function “Fix and Convert“. In our case, we have got two packages (Adobe and Notepad++) that were analyzed previously by PCM and both of these packages showed the readiness state as Manual. We will use one of these packages to demonstrate how you can use Fix and Convert option to convert them to application.
Select the legacy package whose Readiness state is Manual and on the top ribbon, select Fix and Convert.
The package conversion wizard appears on the screen. On the Package Selection tab, you see the name, comment, programs detected and items to fix. Notice that it clearly shows that a valid detection method is missing for the package. You will see this for most of the packages because while creating packages you normally don’t specify the detection method.
To convert this legacy package to an Application, you must define a detection method. Click Next.
Under Dependency Review, we see it’s all good. Click Next.
On Deployment Type, we see that our package that is getting converted to an application needs a detection method. To add a detection method, click Edit.
On the Edit Detection Method window, click Add Clause. Specify a valid detection rule and click OK. The detection rule that you specify here identifies the presence of an application on end devices.
Notice that once you add a detection method, the Detection Method column on the package conversion wizard shows “Success“. Click Next.
On the Requirements Selection tab, you can define the system requirements for the deployment type. Click Next.
Review the configured settings on Summary tab and click Next. Close the package conversion wizard.
After performing the above steps, the Readiness state for Adobe Reader legacy package shows as “Converted“. On the Applications node of the Configuration Manager console, we see the new Adobe Reader application is created. With just few easy steps, we converted the legacy package to an application in SCCM.
Important: Once you have analyzed a package and converted it to an application, do not analyze the same package again. If you do that, you’ll have to specify the detection method again and follow the wizard from start.
Package Conversion Status Dashboard in SCCM Console
In the Configuration Manager console, you can monitor package conversion status. Go to the Monitoring workspace of the Configuration Manager console, and select Package Conversion Status.
This shiny dashboard shows the following data.
- Total number of packages analyzed
- Conversion Success
- Conversion Readiness
Consider the below screenshot. Under Conversion Readiness, we see one package is successfully converted while the other package is not ready yet. The remaining packages fall under Not Applicable section.
How to Run Package Conversion Analysis
In SCCM, you can initiate or run the package conversion analysis. In the monitoring node, right click Package Conversion Status and select Run Package Conversion Analysis.
On the message box, click OK. Refresh the view to display the updated information.
How to Schedule Package Conversion Analysis
In addition to Run Package Conversion Analysis, you can also see an option to schedule the package conversion analysis.
Right click Package Conversion Status and click Schedule Package Conversion Analysis. You can configure the schedule here.
SCCM Package Conversion Manager Log Files
Every component of Configuration Manager records the activity in log file. Refer to the following article that compiles all the important log files in SCCM. If you encounter an error while using package conversion manager in SCCM, you can troubleshoot by reviewing the logs. By default, Package Conversion Manager in SCCM uses the SMS Provider to function. So make sure that your SMS provider is healthy and working fine.
The below log files should help you in troubleshooting the package conversion manager issues.
The SMSProv.log is located on site server under C:\Program Files\Microsoft Configuration Manager\Logs folder.
Package Conversion Manager logs error messages in PCMTrace.log. However, the PCMTrace.log file is not created unless you enable the logging of package conversion manager component. This has to be manually done by the administrator.
Enable logging for Package Conversion Manager
To enable logging for Package Conversion Manager in Configuration Manager, you must modify Microsoft.ConfigurationManagement.exe.Config. By default, this configuration file is located in the following path:
C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe.config
Go to the above path and look for Microsoft.ConfigurationManagement.exe.config file. Edit this file using a good editor such as Notepad++.
Copy the below code and paste it between sources element and system.diagnostics element. To configure the level of detail, change the PcmLogging trace switch setting. Set this value to four levels of detail, from least detailed (1) to most detailed (4).
</sources> <switches> <add name="PcmLogging" value="3"/> </switches> <trace autoflush="true" indentsize="4"> <listeners> <add name="PcmTraceListener" type="Microsoft.ConfigurationManagement.UserCentric.Logging.RolloverLogTraceListener, Microsoft.ConfigurationManagement.UserCentric.Logging" initializeData="%UserProfile%\AppData\Local\Temp\PcmTrace.log"/> </listeners> </trace> </system.diagnostics>
Here is how it should look after you paste the above code in the config file. Save the file once you have made the changes.
When you enable logging for the package conversion manager, a new log file PCMTrace.log is created. This log is on the computer running the SCCM console in the following path: %UserProfile%\AppData\Local\Temp.
Troubleshooting Package Conversion Manager
When using the package conversion manager in SCCM, you may encounter errors or have package conversion fail for some reason. A detailed article on troubleshooting PCM is available from Microsoft.
The table below lists some common Package Conversion Manager error messages and associated solutions.
|Package Conversion Manager Error||Solution|
|Application creation failed with the following exception||Check your permissions in Configuration Manager, validate your connectivity, and then retry. If those actions don’t fix the problem, examine the PCMtrace.log file (verbosity level 4) and SMSProv.log.|
|Conversion Error for Package||Check the user permissions for the network share (package data source), validate your connectivity, and then retry.|
|Did not find a converted package and its resultant application in the workflow outputs||The application (converted package/program) was deleted. Modify the dependent package/program to ensure that the dependent package/program exists.|
|Objects were not created successfully||Check your permissions in Configuration Manager, validate your connectivity, and then retry. If those actions don’t fix the problem, examine the PCMtrace.log file|
|Deployment Types are missing Detection Methods||Detection methods are missing from the program. Add one or more detection methods during the Fix and Convert process.|
|There was an error preparing the package for conversion||Check your permissions in Configuration Manager, validate your connectivity, and then retry. If those actions don’t fix the problem, examine the PCMtrace.log file (verbosity level 4) and the SMSProv.log file.|