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.