How-To: Use Master Packager to Deploy and Maintain DEM Settings - Part 1/3
Updated: Aug 26, 2020
On my last Blog I mentioned that VMware Dynamic Environment Manager (DEM) configurations can be deployed by modify the MSI which I like to cover in this post as I have been asked to emphasise a little on how to achieve this. I choose to use Master Packager Standard Edition in this blog post series for three simple reasons.
It´s awesome
It´s easy to use
It´s free for what we need to do
Why
MSI files are not only capable to deploy software to endpoints, you can use them to "install", "repair" or "uninstall" the following items
Files & Folders
Registry Keys
Create/Modify INI Files
Shortcuts
Environment Variables
For (DEM) in noAD mode we like to place configuration files on a specific location so our service is able to pick them up and process them as we expect.
Further by using MSI files we are able to centrally deploy/remove/report DEM configurations using Workspace ONE UEM or any other modern or legacy software distribution method you already use.
In this short series I will explain how to:
Modify VMware´s MSI file so it contains the initial settings in the DEM Installer
Create an own MSI file to update (add/remove) DEM configurations
Update the DEM config files for ongoing maintenance using MSI versions
Let´s get started with Part 1.
Modify the MSI
Preparation
Things to download / create:
Download and Install Master Packager
Download and extract VMware Dynamic Environment Manager installer files
Download your Production license File
Create a NoAD.xml as I have described it on my last blog post
Start Master Packager and choose "Open MSI/MST/MSP"

Select your downloaded DEM MSI file "VMware Dynamic Environment Manager Enterprise x.y x64.msi" (use x86 if required) and click Open

Now we can "manipulate" the outcome of the DEM Installer by changing or adding items.
Adding the NoAD.xml and License File into the MSI
Rename the VMware-DEM-x.y.z GA.lic file to FlexEngine.lic (will explain later why this is needed)

In Master Packager make sure you are working on the MSI File:

Click on Files in the navigation and select the location where you want to store your central configuration files incl. the NoAD.xml file. I recommend using C:\ProgramData\VMware\DEM as this is by default not visible and read-only for users (non-admins).
Right-click "CommonAppDataFolder" and select "New Folder" to build the required structure to place your files:
- CommonAppDataFolder
- VMware
- General
- FlexRepository
- NoAD

After creating the structure right-click the NoAD folder and select to "Add File(s)"

Select your prepared NoAD.xml file and click Open, you will be asked if you like to store the file compressed as CAB file inside your MSI, choose "#Disk1.cab" & "Build CAB inside msi" to keep the files inside the MSI file and select BUILD NOW.

Now we need to inject the license file. Add your FlexEngine.lic file to “[ProgramFiles64Folder]\Immidio\Flex Profiles" (use ProgramFilesFolder in case you need x86), again select choose "#Disk1.cab" & "Build CAB inside msi" if you are asked for placement.

Adding Properties to pre-specify them during setup
In order to define installation parameters, we can use the MSI to set them for us.
Switch over to the "Table-View" and navigate to "Property"; here you select "Add Row" by right-click on the empty space or press Ctrl+R - notice the changes (highlighted in green) which where made by adding the two files to the MSI.

Add two entries:
HORIZON_SKIP_LICENSE = 1
NOADCONFIGFILEPATH = C:\ProgramData\VMware\DEM\General

Note: The setup normally takes the VMware-DEM-x.y.z GA.lic file, copies it to DEM Installation Directory and names it FlexEngine.lic; we trick the setup process here a little as we already have prepared the file, setting HORIZON_SKIP_LICENSE let the installer "think" it does not need to handle a lic file and just continues
Save your precious work
Click on File > Save ;-)
Upload and Deploy with Workspace ONE UEM
Go to Apps & Books > Native > Add and upload the updated VMware DEM MSI (VMware Dynamic Environment Manager Enterprise x.y x64.msi) file. Then deploy it to your devices as any other installer.
Optional: Add your "initial" configuration to the MSI
In case you have already prepared your DEM configuration and you want to add it directly to your MSI file; add the whole directory at once using the "Add Directory(s)" option as described before. This comes handy if you want to deploy initial settings directly during installation of DEM.

I will cover the distribution and maintenance of DEM configurations within dedicated separate MSI´s in the next two parts of the blog series.
Bonus Round: Trigger UEMRefresh right after installation
If you like to have your configuration being loaded right away you can add a "Custom Action" to your MSI to kick-off "FlexEngine.exe -UEMRefresh", here is how:
Create a Custom Action
Add this action to your Install Execution Sequence as last step
In the Advance Editor-view (the Standard Master Packager view) click on "Custom Actions" and then on the Pencil-Icon on the top-right of the section:

Fill out the form ...
Name = CA.KickOffUEMRefresh // or whatever you like to name it
Type = Exe on Target PC
Execution Options = Immediate
Return Processing = Synchronous, ignore exit code
Scheduling Options = Always
Working Directory = INSTALLDIR // use the ... to choose the Flex Engine Folder inside the Installation Directory
Command Line = "[#Fi.FlexEngine.exe]" -UEMRefresh // use the ... to choose the FlexEngine.exe from the Installation Directory and append -UEMRefresh to it
... and click Add; then go Back using the "Right-Directed-Back-Button" on the top-left of the screen :-)

Now click the Pencil-Icon on the "Install Execute Sequence" section and fill the form:
Action Type = Custom Action
Action Name = CA.KickOffUEMRefresh // or whatever you named it
Condition = <empty>
Sequence = 10000 // to make sure it run at the very end

Mission accomplished.