Tune your ZCM Bundles with Bundle Commander

24
Issue 17, Q1 2012
OPEN HORIZONS MAGAZINE
Tune your ZCM Bundles with Bundle Commander
by Roel van Bueren
When it comes to Windows application deployment the typical ZENworks administrator has to go through a couple of
steps. Firstly determine the installer type of the application you need to deploy and then determine its unattended/
silent installation and configuration switches. Basically two types of installers are known in the Windows application
space today: Windows Installer (MSI) based setups and Non Windows Installer (MSI) based setups, also known as
‘legacy setups’
Windows Installer based setups
Windows Installer based setups are much more flexible
compared to legacy setups. For every Windows Installer
setup you can basically use the same switches as MSIexec.
exe, which is the Windows Installer command utility:
/i – to install the product
/x – to uninstall the product
/q – to set the user interface level during install
/f – to repair a product
This is why in a typical ‘Install MSI Action’ of a Windows
Bundle, you see these default parameters
‘Install Parameters’: /i “whatever-product.msi” /qn
‘Uninstall Parameters’: /x “ whatever-product.msi “ /qn
‘Repair Parameters’: /f “whatever-product.msi “ /qn
One of the other benefits of using Windows Installer
setups is the ability to customise the installation, without
changing the base MSI, using one or more transform
files (.mst). These transform files can be created using a
vendor provided ‘Tuner’, like the ‘Adobe Custom Wizard
X for Adobe Reader and Acrobat’, Microsoft Orca or
by using the ‘Tuner‘ utility which is part of the ‘Flexera
AdminStudio ZENworks Edition’ product shipped with
ZCM.
Instead of using a transform file, for simple adjustments
you can also use ‘public properties’ as a command line
parameter to MSIexec.exe.
Legacy setups
Legacy setups are basically non-MSI setups. Most of the
time it’s hard to tell which installer system has been used
by the manufacturer. Whether the setup supports an
‘unattended’ or ‘silent’ installation, most of the time is a
big question mark. Feeding it a ‘/S’ or ‘/s’ parameter might
trigger a silent installation. But unless the manufacturer
has made proper installation documentation for the
typical desktop administrator, you’re on your own here.
A few resources like http://unattended.sourceforge.net/
installers.php and http://www.appdeploy.com can help
you out here to determine which silent or unattended
switches can be used.
The alternative for legacy setups is to ‘repackage’ (convert)
them using the ‘Repackager Wizard’ of AdminStudio, by
‘capturing’ the installation in a clean Virtual Machine,
using either the Monitor feature or ‘Snapshot’ feature.
Not every legacy setup is easy to repackage though.
Repackaging takes good testing, patience and skill.
Unattended/silent and configuration
Switches
A lot of setups use different switches (legacy setups) or
public properties (MSI setup) in order to configure either
which application components should be installed in
what way, but also how the application behaves on and
after initial start-up. Sometimes you have to tweak a bit
further by adding or changing specific registry settings
or by adding configuration files.
A good example here is Apple’s iTunes. Although with
the introduction of iOS5 and iCloud the requirement to
install iTunes to activate an iPad has been taken away,
many businesses still want to deploy iTunes. When
downloading iTunes from Apple’s website, we end up
with a setup called ‘iTunesSetup.exe’ for x86 systems
and ‘iTunes64Setup.exe’ for x64 systems. These setups
basically are compressed 7zip archives as I explain in a
blog about ‘iTunes’ on my website MSIwisdom ( http://
www.msiwisdom.com/articles/apple). With WinRAR
for example you can extract the MSI packages from
these setups in order to ‘tune’ and then deploy them
individually.
ROEL VAN BUEREN works as senior consultant, trainer and developer for ROVABU NetWorks BV.
His company is a Novell Partner and ENGL Integration Partner in the Netherlands. Roel is a specialist using Novell ZCM and Windows deployment using ENGL Imaging Toolkit, Software packaging
using AdminStudio and .NET development using c#. Roel has been a speaker at Brainshare, GWAVAcon and the Dutch Packaging Event. His latest project is Bundle Commander for Novell ZCM which
provides a new way of creating Windows Bundles in a faster, more consistent and intuitive way.
The main MSI package is ‘iTunes.MSI’ for which you can
use several public properties to customise the installation:
REGSRCH_DESKTOP_SHORTCUTS=0
By setting this public property to ‘0’, we tell the installer
not to put the ‘iTunes’ shortcut on the desktop. For ZCM
environments this is a necessity, since this is a ‘non
managed’ shortcut where we want to provide a ‘managed’
shortcut by using a ‘Launch Bundle’.
NO_BONJOUR=1
Setting ‘NO_BONJOUR’ to ‘1’ we tell the installer not to
install ‘Bonjour ‘. Bonjour provides zero-configuration
network discovery of printers, shared iTunes libraries,
and other services. From a security perspective, but also a
bandwidth perspective, this is a feature most enterprises
want to disable.
SCHEDULE_ASUW=0
Setting this to ‘0’ means the ‘AppleSoftwareUpdate.msi’
will not be installed during the installation of iTunes.
Effectively the the ‘Automatic Software Update task’
is not added to the Windows Task Scheduler. Most
enterprises want to disable this right away, because this
notifies the end user not only of new versions of iTunes,
but also of other Apple products like QuickTime, Safari
and the iCloud Control Panel . Regardless whether they
are already installed or not.
Issue 17, Q1 2012
which shows you both your file system as well as the
bundle folders and bundles in your ZCM environment.
From the file system, you’re able to select either software
setups and/or executables from which you can create
Install and Launch bundles.
After downloading, installing and launching Bundle
Commander you can log-in to your ZCM zone by
clicking the ‘Connect’ button on the ribbon bar. In the
left panel you can
select a drive by
clicking one of the
‘Drive’ icons in the
ribbon bar and
files by selecting
a file in the grid.
In this example
we’re
showing
the directory in
which the MSI’s of
the ‘iTunesSetup.
exe’ have been
extracted:
The right panel
shows all Bundle
Figure 1: The extracted MSI’s of
‘iTunesSetup.exe’
iTunes offers enterprise controls which give system
administrators the ability to set content restrictions.
Knowledgebase article HT2102 (http://support.apple.
com/kb/ht2102) “Windows OS Managed Client: How to
manage iTunes control features” is a great resource which
explains in detail how to use the ‘AdminFlags’ key in the
registry to disable and then lock certain features. This
registry key can be added to the installation by importing
it in a transform file by either using Orca or AdminStudio’s
Tuner.
Bundle Commander for ZCM
Gluing this all together requires some significant work. I
have already taken away a bit of the pain by pointing out
some resources you can use. You can save yourself a lot
of time and effort by using a new product called Bundle
Commander for ZCM.
Bundle Commander’ is a Windows desktop application
which has an inbuilt knowledgebase for most common
applications from vendors like Adobe, Apple, Citrix,
Microsoft, Novell and Vmware and legacy setups made
with install systems like InnoSetup, NSIS, Wise and
InstallShield. ‘Bundle Commander’ has all kind of ‘best
practice’ features which enable the ZCM administrator to
create ‘Windows Bundles’ in a more simple and intuitive
way. It has a split screen ‘Commander Style’ User Interface
25
Figure 2: All Bundles in the ‘Installation’ Bundle folder
Folders
and
Bundles inside the
selected
Bundle
folder. With the
‘Bundles’ related
buttons on the
ribbon bar, you’re
able to create
‘Bundles’, ‘Bundle
Folders’
and
‘Bundle Groups’:
Figure 3: Select the ‘iTunes.msi’
setup and ‘Create Bundle’
ZENworks
OPEN HORIZONS MAGAZINE
Issue 17, Q1 2012
OPEN HORIZONS MAGAZINE
ZENworks
26
Figure 4: The iTunes Configuration Wizard
When we select the ‘iTunes.msi’ from the file system,
right click and opt for ‘Create Bundle(s)’ or click the
‘Create Bundle(s)’ ribbon button on the ribbon bar:
Bundle Commander detects that ‘iTunes.msi’ is the setup
for iTunes and prompts an ‘Apple iTunes Configuration
Wizard’. With this wizard we can configure the settings
we’ve discussed in the beginning of this article. When you
click ‘Ok’, the settings will be stored in a MSI Transform file
(.mst). The transform file is then saved and uploaded to
the ZCM content repository, after which it will be used in
the’Create Windows Bundle (MSI)’ screen which is shown
in figure 3.
In the ‘Create Windows Bundle (MSI)’ window, Bundle
Commander comes up with a ‘Bundle Name’ and ‘Display
Name’ which has been derived from the ‘Product Name’
and ‘Product Version’ property values of the MSI package.
These have been set in the Property table of the MSI
package during the creation of this MSI by the vendor
and most of the time provide the best unique and
Figure 5: Creating a ‘Windows Bundle’ based on the
selected ‘iTunes.msi’ setup
consistent name for a ‘Windows Bundle’. The icon of the
selected file has been extracted automatically and will be
used for the Windows Bundle’s icon. The User Interface,
Executable Security Level and Architecture have been set
to a default value.
Under the ‘Transforms’ tab, a transform file has
been added, which contains the settings which
we selected using the ‘Configuration Wizard.
to the ‘Content System’. Optionally you can assign the
bundle to selected users and devices by using the ‘User
Assignments’ and ‘Device Assignments’ tabs.
The architecture can be set to ‘All’, ‘x86’ or ‘x64’. Setting it
to ‘x86’ means an ‘Architecture requirement’ will be added
to the Windows Bundle:
When you click OK, the Windows Bundle is now created.
In ZCC and you will see a newly created Windows
Bundle, based on the selections you’ve made in ‘Bundle
Commander’. One of the details you will notice is that
under the ‘Install’ tab the ‘Install Actions’ have a more
sensible naming than provided in ZCC by default, which
is ‘Install MSI’. This naming is based on the selected file.
To succesfully deploy iTunes you need to install
more than only ‘iTunes.msi’. You also need
to
install
‘AppleApplicationSupport.msi’
and
Figure 6: The iTunes.mst transform file has been uploaded
Figure 7: The Architecture requirement has been set
to ‘32’ which means this bundle is only available on
Windows x86 systems
Figure 8: The ‘Install MSI’ action has been named ‘Install
iTunes.msi’
Issue 17, Q1 2012
27
ZENworks
OPEN HORIZONS MAGAZINE
Figure 9: Multi-select the additional MSI’s needed to
install iTunes
‘AppleMobileDeviceSupport.msi’. In order to create
‘Windows Bundles’ for these, you can multi-select the
MSI’s and opt to create ‘Windows Bundles’ for them as
well.
Figure 11: Create Launch Bundle for iTunes.exe
We can assign these ‘Windows Bundles’ to devices or
users and opt to either install these on demand or by
default after e.g. logging in to a device, but we’re still
missing a ‘Launch Bundle’ here to provide a shortcut in
either NAL, the Start Menu or the Desktop for the end
user. To create a ‘Launch Bundle’ select the ‘iTunes.exe’ on
a machine which already has ‘iTunes’ installed and select
‘Create Bundle(s)’:
Figure 12: Install actions of the ‘iTunes’ Launch Bundle
Figure 13: Launch action of the ‘iTunes’ Launch Bundle
Figure 10: Select iTunes.exe
The name of the Windows Bundle is again derived from
the selected file. The icon is automatically extracted too.
After reviewing the ‘Creating Windows Bundle’ screen,
click ‘Ok’ and a Launch Bundle ‘iTunes’ will be created:
Now, in ZCC, we can add three ‘Install Bundles’ actions,
which refer to the ‘Install Bundles’ we’ve created earlier
on, to this bundle:Bundle Commander added a ‘Launch
Executable’ action to this bundle, which executes ‘C:\
Program Files\iTunes\iTunes.exe’ when the user launches
this bundle. When the end user now clicks the ‘iTunes’
bundle, the Install Actions will be executed. Putting the
‘Install’ and ‘Launch’ logic in different bundles allows you
to be more flexible managing your bundles and your
applications. You’re able for example to add ‘Uninstall
Bundle’ actions to the ‘Launch Bundle’s Install actions,
which allows you to uninstall older versions first when
needed.
This is a just a brief introduction to Bundle Commander
and how it can improve your standard ZCM environment.
Bundle Commander is currently in beta and scheduled
to be released later this year. Bundle Commander will be
made available in three versions: a Standard Edition, a
Professional and an Enterprise Edition. A license for the
‘Standard Edition’ is available for free. You can register
for this free license on the Bundle Commander website:
http://www.bundlecommander.com. The beta version
has no restrictions except for the Enterprise features.
Issue 17, Q1 2012
New Releases: A Year Of Expectation
ZENworks Application Virtualization I Mobile Device Management I GroupWise 2012 I Bundle
Commander I Success Story I MS-Office Add-In for Novell Vibe I Introducing OES11 I Service
Management I ZCM 11 SP2 I Giving Customers A Voice I Ask the Experts
4
Issue 17, Q1 2012
OPEN HORIZONS MAGAZINE
Contents
3
Editorial: Re:Launch
5
ZENworks Application Virtualization
9
Mobile Device Management: Is ActiveSync The Complete Solution
13
Groupwise 2012: Roam Productively
16
Giving Customers A Voice In The Future Of Groupwise
18
ITs Perfect Storm - Time For Change Or Be Changed
20
Introducing OES11
24
Tune Your ZCM Bundles With Bundle Commander
28
Success Story: Kent And Medway Health Informatics Service
30
First Look: The Microsoft Office Add-In for Novell Vibe
34
Ask The Experts: ZENworks 11.2 Is Coming
36
Ask The Experts: GroupWise
37
Ask The Experts: Vibe
39
Community News: Bringing Novell Collaboration To A Language Near You!
Cover image: Copyright istockphoto/teekid
Open Horizons Magazine
Editorial Team
Chief Editor
Robin Redgrave | robin@open-horizons.net
Editorial Team
Sander van Vugt | sander@open-horizons.net
Open Horizons Magazine is distributed free of charge to
members. For further information on how to become a
member of Open Horizons go to www.open-horizons.net.
LEGAL NOTE: Entire contents copyright . All rights reserved. No part of this publication may be reproduced in
any form without prior written permission of the magazine‘s editorial team or the author.
John Ellis | john@open-horizons.net
This publication is provided as is. All the information provided is for general discussion only. The views expressed are solely those of the authors and do not reflect the views of their firm, any of their clients, or officials
of the Open Horizons community. The publisher is not responsible for any errors, inadequacies, misuse, or the
consequences of using any of the information provided. Open Horizons Magazine is published independently
of Novell, which is not responsible in any way for its content.
Production Control & Layout
John Ellis | john@open-horizons.net
The rights of Novell Inc with respect to all their trademarks and registered trademarks is recognised. All other
trademarks and registered trademarks are the property of their owners and are used for editorial or identification purposes.
Corne Groesbeek | corne@open-horizons.net
Open Horizons Magazine is published quarterly by the Open Horizons Community - www.open-horizons.net
Available Now:
Novell
Open
Enterprise
Server 11
Now on the latest
SUSE Linux Enterprise platform
Featuring:
Enhanced virtualization options (VMware/XEN)
Cross-Platform Client Support
Centralized Server Deployment
Dynamic Storage Technology
Microsoft Active Directory Authentication
www.novell.com/oes
© 2011 Novell, Inc. All rights reserved. Novell and the Novell logo are registered trademarks of Novell, Inc. in the United States and other countries.