New Ranks & Badges For The Community!
Notice something different? The ranks and associated badges have gone "Star Fleet". See what they all mean HERE

Deploy those ZENworks App Bundles - MSI edition!

Deploy those ZENworks App Bundles - MSI edition!

deploy.pngzoom.pngzen2020.PNG

Know your app!
Many times, admins are in a rush and may every once in a while, miss important steps in application deployment for a myriad of reasons. Understanding all the nuances of applications as well as required configurations, typically can be obtained from the product documentation & user forums or just searching online for that particular app. We always preach “know your app” in efforts to expose all the options built-in to the application’s installation wrapper whether it’s an EXE or an MSI package.
 
In this example we are doing to deploy the now infamous ZOOM app (as least as of this writing). I was able to download an MSI file package from their site under the “Download for IT Admin” section – which is pretty cool of them to think of us! https://zoom.us/download
 
(Side note) This article covers all the available deployment options within the package but most importantly, the command line options or package switches! https://support.zoom.us/hc/en-us/articles/201362163-Mass-Installation-and-Configuration-for-Windows
 
Here we go
One of the first things we advise after checking in with the documentation or other related material is to simply take your installer and drag it into your Windows command prompt (Admin). At this point we want to expose the available switches by either adding a “/?” or “-?” after the installer. Since this is an MSI wrapped installer, the Windows Installer switch description panel pops-up with a list of available commands (reference image below).
 
pic1.png
 
At this point we now test launching the package within the command line so that we can customize the flow of the installation to our liking and understand what will be needed for further customization.
 
Since MSI packages are processed with the Windows Installer engine, we will test a couple of methods until we like the end result of the final installation run. Here we’ve decided to test run with the “passive” switch because, we like the idea of showing users a status screen especially if they end up installing these applications in the ZAPP self-service window. I mean really - they clicked it so they should see what’s going on so don’t try to run everything hidden!
 
Yes, I know, there will be times where you’ll just need to push out those apps, patches, scripts or tasks that require some stealthiness but in this example, we’re rolling with passive mode. *Side note, you could setup the ZEN bundle to run silent but show a ZEN installer status screen.

 

 

 

msiexec /i "c:\Temp\Bundles\Apps\ZoomInstallerFull.msi" /passive

 

 

 

You’ll notice now in this test installation process that it will give us the desired progress bar but additionally, “passive mode” will not display any cancel or close buttons which is pretty cool!
pic2.png
 
We’re on to ZCC.. Great, at this point we are simply creating a new bundle to get this now tested MSI app into ZENworks so that we can continue to make any last modifications to get it just right for deployment. Here are the steps within the ZCC:
  1. On the left navigation pane, click Bundles.
  2. Select New-->Bundle-->Windows Bundle-->MSI Application.
  3. Define Details: Name your application bundle, select the folder for it’s final resting spot and assign it an icon. Oh, be sure to add a description in the text box like version numbers or anything else pertinent. We are browsing to ZOOM exe “C:\Program Files (x86)\Zoom\bin\Zoom.exe” to grab the proper icon of this app rather than assigning something generic. Let’s face it, we’re going for a cool user experience so don’t overlook little things like this!
  4. Select Next. Here we will utilize the ZEN content repo where we’ll upload the MSI to the system and let it ingest all of that MSI app goodness! Alternatively, you have an option on this screen to point the bundle to an MSI out on a network share via UNC path.
 
OK, get that puppy uploaded, setup your MSI parameters (passive mode), make any other MSI properties changes as required and continue through the phases of the bundle wizard.
 

pic3.pngpic4.pngpic5.png

Finish off by ensuring the bundle is in sandbox mode and “define additional properties” is ticked.

pic6.png

Ready-Set-Action(s)!
Great job for hanging in there, we’re almost done! We now have our bundle created and now we want to give it some requirements and specific actions as it’s being deployed. Remember, ZENworks is very flexible especially at choosing exactly what you want to happen at the time of deployment and there is a plethora of built-in options to help you along the way.
 
Case in point, in our deployment, we only want to deploy this version of ZOOM on systems that either don’t have it or have older versions. In the image below, you’ll notice that I’m assigning a requirement in order for the installer to run. In my case and at the time of this writing, the version we’re going with is “5.1.28546”. However, how awesome and flexible are all the other choices within the UI drop-down!? The ZENworks PM’s & devs are always on point with packing-in many useful features and real-world options.
pic7.png
 
A few more things here, notice that I’ve changed the Action Name to what the action actually does “Install ZOOM MSI Installer”. You’ll also notice the requirement value states, if the “zoom.exe” in path in “C:\Program Files (x86)\Zoom\bin\” is not equal to or "<>" version 5.1.28546, then the installer will run!
pic8.png
Next, we are going to make a setting change to the app so that it won’t check the ZOOM mothership for updates – we’ll let the you guys handle that thank you very much! We can accomplish this by creating an additional action to change a registry value. In our case, we will set “DisableUpdate=True”

 

 

 

 

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Zoom\MSI]
"DisableUpdate"="true"

 

 

 

We’ve previously exported the registry edits to a reg file on our system then just simply created a new “Registry Edit” action set then imported the reg file – check it out below, easy as can be!

pic9.png

 Below is a view of both the Install and Launch from our action sets respectively. The actions are named appropriately and the bundle is ready for sandbox testing. Go ahead and add your device or user assignment under Relationships and fire away!

Install Actions:

pic10.png

Launch Actions:pic11.png

Closing time
This blog tutorial overview was not meant to be an exact guideline as to what you’ll need to do but it will certainly get you started! The best thing is that the ZENworks features are very flexible and offer a bunch of options from keeping deployments simple to highly customizing action-sets in a very logical manner.
 
For more info reach out to the good folks at Micro Focus for your 60-day evaluation or if you’re in the New England area, let us know how we can help answer any ZENworks related questions or even get you setup on your evaluation (remotely of course)!
 
We are a US based Micro Focus partner and are always happy to answer any ZEN community questions either here or on our social channels.
 
Follow us:
Labels (1)

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Top Contributors
Version history
Revision #:
9 of 9
Last update:
‎2020-07-09 00:00
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.