Deploy Java Runtime Environment 7 Update X with ConfigMgr 2012
If your orginization are is using applications that rely on Java Runtime Environment, deploying that to your clients with ConfigMgr 2012 is the way to do it. This post will go through the necessary steps to deploy Java Runtime Environment 7 (JRE) in the Application Catalog and to keep it up to date with an Application Management collection.
- Download and unpack the MSI
- Create an application for JRE
- Edit the application
- Distribute the application
- Deploy the application
- Create a collection for application management
Download and unpack the MSI
Download the latest version of Java Runtime Environment here: https://java.com/en/download/manual.jsp
I normally only download and deploy the 32-bit version. If your environment require the 64-bit, the process of deploy that is the same as described in this post.
1. Once you’ve downloaded the version of JRE that you’ll be deploying, launch the setup but don’t do anything else.
2. Browse to C:\Users\<your_username>\AppData\LocalLow\Sun\Java\jre1.7.0_<update_number>.
3. Copy the two files from the above folder to a folder in your Content Library. In my lab environment that is \\CM01\ContentLibrary$\Software\JRE\7_<update_number>. It’s always a best practice create a well organized folder structure in your Content Library.
Create an application for JRE
1. Open the ConfigMgr 2012 console and go to Software Library.
2. Expand Application Management.
3. Right-click on Applications and choose Create Application. In my opinion you should always create a folder structure for your applications. If you’ve already created folders under Applications, determine if you need to create a new folder or use an existing folder depending on your configuration. In this post we’ll create the application in the root, just for demoing purposes.
4. On the General page, make sure that Automatically detect information about this application from installation files is selected and that Type is Windows Installer (*.msi file). In the Location field, enter the path to the MSI file we unpacked earlier and stored in the Content Library. The path should be \\CM01\ContentLibrary$\Software\JRE\7_<update_number>\jre1.7.0_<update_number>.msi. Click Next.
5. On the Import Information page, click Summary.
6. On the Summary page, click Next.
7. Once the application has been created, finish the wizard by clicking Close.
Edit the application
I’ll not cover all the functionality of the Application Model in this post, and not go through each tab either. I’ll only focus on the most important configurations.
Right-click the newly created Java 7 Update <update_number> application and choose Properties.
General Information tab
1. On the General Information tab, I recommend to enter the following information:
- Name: Java Runtime Environment
- Publisher: Oracle
- Software Version: 7 Update <update_number>
1.1. Optional: Select or create a new Administrative category for the application.
1.2. Optional: If you’re going to install this application during OSD, check the Allow this application to be installed from the Install Application task sequence action without being deployed box.
Application Catalog tab
1. On the Application Catalog tab in the Localized application name field, enter the following name Java Runtime Environment.
2. Click on the Edit button next to the User Categories field. Create a new category or select an existing. I recommend to create a category called Java Runtime Environment.
2.1 Optional: Fill in the rest of fields if you please, e.g. User documentation, Link text or change the Icon.
Deployment Types tab
1. On the Deployment Types tab, select the deployment type called Java 7 Update <update_number> – Windows Installed (*.msi file) and click on Edit.
Deployment Types – General tab
1. In the Name field, change the name to Java Runtime Environment 7 Update <update_number>.
Deployment Types – Programs tab
1. In the Installation program field, amend the command line with a “n” at the end.
2. In the Uninstallation program field, amend the command line with a “n” at the end.
3. Click the Browse button next to the Product code field and locate the MSI file. Adding the Product Code to the Deployment Type ensures that the MSI file can be used directly from the content source on a Distribution Point. It’s a great feature, so don’t leave this field empty.
Deployment Types – Detection Method tab
1. Select the available detection method and click on the Edit Clause… button.
2. Click on Browse and locate the MSI file.
3. Select This MSI product code must exist on the target system and the following condition must be met to indicate presence of this application.
4. Make sure that MSI Property is Version, Operator is Equals and the Value should automatically be filled in.
5. Click on OK.
Deployment Types – User Experience tab
Depending on if you’re deploying this to users or systems, the settings on this tab will vary. In this post I’ll demonstrate how it’s configured when deploying to systems, but deploy it to the Application Catalog so that users can choose to install the application themselves.
1. Select Install for system, in the Installation behavior drop down menu.
2. Select Whether or not a user is logged on, in the Logon requirement drop down menu.
3. Select Hidden, in the Installation program visibility drop down menu.
4. Configure the Maximum allowed run time (minutes) to 20 and the Estimated installation time (minutes) to 5. The JRE application installation should not take more than 20 minutes to install. The Maximum allowed run time minutes come into account when the client evaluates the deployment to see if there’s enough time left in its assigned maintenance window (if the application would be deployed as required). The Estimated installation time is displayed to the user in the Application Catalog.
At this point the most important settings have been configured. Click on OK to close the two open windows.
Distribute the application
1. Right-click on the Java Runtime Environment application and choose Distribute Content.
2. Click Next on the General page.
3. Click Next on the Content page.
4. Select your preferred way of either distributing to a Distribution Point or to a Distribution Point Group and click Next.
5. On the Summary page, click Next.
6. Close the wizard by clicking Close.
Deploy the application
1. Right-click on the Java Runtime Environment application and choose Deploy.
2. Select the collection you wish to deploy the JRE application to. In this post we’ll deploy the JRE application to the All Users collection, so that users can choose to install it themselves from the Application Catalog.
3. On the Content page, click Next.
4. On the Deployment Settings page, click Next.
5. Leave the default settings on the Scheduling page and click Next.
6. Click Next on the User Experience page.
7. Click Next on the Alerts page.
8. On the Summary page, click Next.
9. Click on Close.
Create a collection for application management
Once users start to install the application, it would be necessary to keep track of which systems the users have installed the application on. Therefor its recommended to create an collection based on which systems the has the Java Runtime Environment application installed. We’ll do this by querying for the Display Name of the JRE application. Instead of walking through each step of creating a collection, the WQL query statement necessary for such a collection is shown below:
select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%Java%"
Now when users go to the Application Catalog, they’ll be able to install Java Runtime Environment. And best of all, you’ll have a collection with all the systems that have Java Runtime Environment installed. This collection could be used as for JRE upgrade deployments whenever a new version is released.
Chief Technical Architect and Enterprise Mobility MVP since 2016. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows devices and deployments including automation. Awarded as PowerShell Hero in 2015 by the community for his script and tools contributions. Creator of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService to name a few. Frequent speaker at conferences and user groups.