ZIP File: Mass install of ZENworks Hand held Management 7 sp1.
ZIP File: Mass upgrade from ZENworks Handheld Management 6.5 to ZENworks Handheld Management 7 sp1.
In today's business environment, manually managing servers for periodic updates, installations, and tasks is impractical. It is a well known fact that automating repetitive tasks can significantly lower a system's total cost of ownership.
Typically, when administrators patch or install to a given server, they need to remotely control each server, copy the files, launch the installation and then monitor its completion. The time involved can be anywhere between half an hour to two hours—sometimes even more. Multiply that by hundreds of servers and many patches and the costs to your business can skyrocket.
Not all installations and patches can be slowly rolled out over time, either. Security products need immediate attention, as do those that resolve the downtime that causes revenue loss. Additionally, scheduling each installation based on priority is crucial in reducing administrative costs. For example, giving your virus-update patch a higher priority over an application installation is imperative.
From a physical-networking perspective, things become even more complex. Sending the same patch five times to five servers instead of once and then forwarding it on can cause slow response times for your users. On the other hand, when you don't fully utilize the same WAN bandwidth, it is wasted during off-peak hours. The same arguments can be applied to upgrades, too. You can save much time and effort by automating application upgrades, or even upgrades to the operating systems themselves.
Often, you may need to tailor each patch, upgrade, or installation for every server where it is going to run. You may need to establish set or registry parameters prior to running the upgrade or change a few text files to localize the installation script or upgrade application in order for it to run. Making such changes manually for every server in your organization is cost-prohibitive. However, performing these tasks with ZENworks Server Management's Server Software Packages is an easy and efficient process.
This paper addresses all of these concerns by showing how the award-winning Novell ZENworks software can tier, schedule and automate the distribution of Novell patches. With ZENworks 7 Server Management with SP1 Policy and Distribution Services, you can use Novell templates for sending patches out, tailor them to suit a particular environment, or even write and compile your own patches for any third-party software you may run on your servers. Almost any software patch can be programmed into a ZENworks Server Management Server Software Package.
This paper addresses two configurations of Server Software Package from Novell: the Uncompiled Server Software Package (SPK),and the Compiled Server Software Package (CPK). The SPK is a template for modifying to your own environmental needs. In this White Paper we will focus on the compiled Server Software Package, which contains the files and logic for the installation but cannot be modified and comes predefined with only variables for you to configure to localize it for your environment. This solution shows you how to use Server Software Packages to automatically install or upgrade ZENworks Handheld Management. More information on how to compile Software Packages can be found here.
At the end of this paper are the tools and information for leveraging this solution with or without an installed and functioning ZENworks 7 Server Management with SP1 server. In other words, the package (CPK) you compile for your network will be installable via the freely available "Standalone Package Processor" or via a fully installed ZENworks 7 Server Management with SP1 agent (called a Subscriber in our documentation).
In the appendix of this document you can also find a brief outline of ZENworks 7 Server Management with SP1 that discusses the Tiered Electronic Distribution mechanism and a sample response file (text file input) for silent ZENworks Handheld Management installation and upgrade.
The Two Technologies
Most Novell products today come with the option to install silently. By silent we mean an installation that does not prompt the user for input. It is also called unattended in some circles. Novell includes a silent installer and upgrade mechanism in ZENworks Handheld Management 7 SP1. In simple terms the installer reads the input from a text file, rather than from input by the user. After this text file is created with the values you need, the installer runs silently or unattended.
The Software Packaging engine featured in ZENworks Server Management 7 SP1 comes with a text editor that allows for the use of variable input to edit text files. For example one variable we use is ZHM_SYNC_SERVER. This is entered multiple times throughout the text file, but using the Software Packaging engine we can use one variable to populate all the locations this information needs to go. Each ZENworks Server Management Subscriber can be configured with its own unique values for a LDAP server's IP Address and SSL port, which,once configured correctly, facilitates the mass installation of the ZENworks Handheld Management software.
The Silent Installer for ZENworks HANDHELD Management
Novell ZENworks Handheld Management provides automated management for your growing population of handheld devices, allowing you to strengthen corporate data security, reduce high ownership costs and increase productivity for a highly mobile workforce. When you deploy ZENworks Handheld Management with other Resource Management solution components such as ZENworks Server Management, you have a robust, easy to install or upgrade en-masse, solution.
This paper discusses the features and the configuration necessary to perform an unattended Installation or upgrade of ZENworks Handheld Management in a Windows only environment.
Automating the Installation
Installing or upgrading ZENworks Handheld Management on a Windows operating system can be made silent and more flexible using a response file. When using a response file, the process provides:
- Unattended installation and upgrade
- Default configuration of components
A response file is a text file containing sections and keys, similar to a Windows .ini file. You can create and edit a response file using any this page you can look up ASCII characters and descriptions.">ASCII text editor. If you use a response file, the ZENworks Handheld Management upgrade or install reads the installation parameters directly from the response file and replaces the default installation values with response file values. The installation program accepts the values from the response file and continues to the following installation screens without prompts.
The ZENworks Handheld Management Installation requires changes to the sections in the response file that need information about the LDAP server, the ZENworks Handheld Management server, the installation directory, and so on. A full list of the keys and their default values are available in the sample setup.iss file that is delivered with the Windows installation. A detailed explanation of sections in the response file, each key, its description, and default values are included in APPENDIX B of this document.
NOTE: While the drive letter is required for the installation. because of a Defect in the silent install we can only ever install to C drive.
Using a Response File
The response file is used or edited during an upgrade in two scenarios:
- Editing the response file (setup.iss) to provide the values that are normally entered by the user in an attended installation.
- Providing the response file as input during an upgrade.
Launching the ZENworks Handheld Management Management install provides the same functionality as the standard install except you provide the parameters in advance. Here's an example:
C:\Program Files\Novell\ZfHAP\upgrade\setup.exe -s -sms /accesspoint
NOTES: We are assuming the setup.iss file is available in the same directory where installation is launched from. Because this is a completely silent installation, there is no prompt at the completion of the installation.
The Software Package Processor
When you are aware of what needs to be placed into the text file for the installation to remain silent, you can then prepare and compile your source Server Software Package (.spk file, or SPK) into a Compiled Software Package (.cpk file, or CPK). For this solution we supply only a CPK.
In a Typical installation of ZENworks Handheld management 7 with service pack 1, as we mentioned earlier, there are two Software Packages available: Install or Upgrade of Access Point server of ZENworks Handheld Management. One installs a ZENworks Handheld Management Access Point and another upgrades an existing ZENworks 6.5 version of the ZENworks Handheld Management Management server. The ZHM product is only available on the windows platform.
Note: It is also possible to install or upgrade Desktop Synchronization Integration software in similar way to the Access Point. This requires you to have a separate SPK and compile it separately. As most installations of ZENworks Handheld Management only require one or two instances of this type of server in this paper we chose to focus on Access Point servers.
In the tables shown below we outline the components in each CPK, and variables you will need to define for your Subscriber, then we explain the components inside the package and what they do. To verify what we say in the tables, you can open up a package using Novell ConsoleOne to view its components. Change the file type in Console one to "all files" rather than SPK and you will be able to open up the CPK. See this link for more information on Software packages.
The two Server Software Packages
Both the install and the upgrade ZENworks Handheld management CPKs are designed in essentially the same way. The main difference being the number of variables needed for the install CPK: it needs six, whereas the upgrade only needs three. They both edit a silent install text file for the ZENworks Handheld Management product, however the install edits it by injecting six customer supplied variables while the upgrade only injects three. The upgrade CPK only needs to use three Variables: the LDAP server to contact, the SSL port that the customers wishes to use to communicate on, and the install drive where ZENworks Handheld Management is installed. Both CPKs (install and upgrade) copy down the ZENworks Handheld Management Installation Directory structure, edit the silent install file (setup.iss) file, and launch the installation in silent mode. If the Administrator happens to be looking at the screen when it launches he will see the Bitmaps of ZENworks Handheld Management pass by but will not be prompted to enter any information. Upon completion the bitmaps will disappear.
ZENworks Handheld Management Install CPK
This install CPK uses six Variables, outlined below, to inject into the setup.iss file. Amongst them are the install drive the software will be installed to, the LDAP server to contact, the SSL port that the customers wishes to use to communicate on, the ZENworks Handheld Management server the access points will connect to, and customer name and contact information. As we have described above, both CPKs copy down the ZENworks Handheld Management Installation Directory structure, edit this file, and launch the installation in silent mode. If the Administrator happens to be looking at the screen when it launches he will see the Bitmaps of ZENworks Handheld Management pass by but will not be prompted to enter any information. Upon completion the bitmaps will disappear.
Here is a complete list of the Variables needed on each subscriber.
||This is the drive letter on the Windows server you have installed ZENworks Handheld Management to. It should be in the form of "C:".|
||This is the IP address or DNS name of the LDAP server you defined in your initial setup of ZENworks Handheld Management. Typically this is your eDirectory server.|
||This is the secure LDAP port number. Typically the value is 636.|
||This is the IP address or DNS name of the ZENworks Handheld Management server.|
||This has no functional affect, it is merely the name of the person installing the software. NOTE: In the GUI-INSTALL its called 'User Name'|
||Again it has no functional affect, it is merely the name of your company. |
Both install and upgrade CPKS have the same components so we have shown only one table here.
ZENworks Handheld Management Package Components
|Component Name ||Description ||Tab Name|
||This component copies the entire ZENworks Handheld Management install files out
||Edits the silent install file- setup.iss
||This runs the installer with the right arguments to go silent.
ZENworks Handheld Management upgrade CPK
This Server Software Package uses three customer-defined variables to install ZENworks Handheld Management Access Point on a Windows 2003 (or 2000 SP4) server. Using the declared variables, we need to edit the silent installation file- setup.iss. An example of two files is found in APPENDIX B: one for the upgrade and one for the install.
Using the search and replace line feature of the Software Package Processor, we search for two strings in this file- Edit1= and Edit2=. Then we replace the entire line with these two bits of text. The values in between the percentage symbols (%) are replaced with the customer's own definitions.
|Actual Text in the CPK ||Turns into this in the setup.iss|
In the following table we show you the sections and variables that we edit. The variables are enclosed in percentage characters. For example, if we have a variable named FRED, we show it as %FRED%.
To load this CPK via the Standalone Package Processor i.e. when ZENworks Server Management is not installed, we need to edit the batch file that comes with it and inject your local values. For example, we need to declare values for each of the variables listed below. To use this in a standard ZENworks Server Management installation, the subscriber needs to have these variables defined for it. Refer to the Online Documentation for information on how to do this.
|Variable and example ||Explanation|
||The Drive letter you previously installed ZHM software to.|
||This is the IP address or DNS name of the LDAP server you defined in your initial setup of ZENworks Handheld Management|
||The SSL port you previously had defined.|
NOTE: In most other implementations of Software packages we demand you include the back slash on the drive letter- here we don't.
In order to use the Standalone Package Processor you need to open up the relevant batch file and edit in the variables. Below we show the syntax that we use to call CPKs using the Java command, inside the batch file. Two batch files are supplied with this paper: ZHM-UPGRADE.BAT and ZHM-INSTALL.BAT. The supplied batch file has the word VALUE in place of each replaceable value shown in the syntax below. It is intended that you replace VALUE with your own environmental variable. Below we are showing the upgrade batch file - there are three uses of VALUE in the syntax example.
java -cp %zfspaths% com.novell.application.servman.services.softwarepackage.PackageProcessor c:\temp\cpk\ZHM7-UPGRADE.cpk 6 DEST_HAND VALUE LDAP_SERVER VALUE SSL_PORT VALUE
Putting It All Together
In this solution we have combined two technologies from Novell into one solution: The text file editing, file copying and program loading feature of ZENworks server Management with the silent install capacities of ZENworks Handheld Management. This facilitates the Mass and Rapid deployment of the installation and/or upgrade of ZENworks Handheld Management into your Windows Server environment. By deploying the CPKs through your existing ZENworks Server Management environment you have a solution that is simple, Cost- effective, Tiered and Scheduled.
Of course, our solution still is viable if you do not have ZENworks Server Management deployed. You simply edit the relevant batch file (ZHM-upgrade.bat or ZHM-install.bat) with your own local variable values and deploy. It is even viable to roll this or any CPK solution out by packaging them up using the Standalone Package processor and deploying them by the custom interface provided in ZENworks Patch Management or any other deployment infrastructure you may have in place.
Appendix A: Introduction to the Software Package Engine
The Server Software Package is one type of distribution that ZENworks Server Management can push out through your network. The file first starts out as an uncompiled package (.spk file). For example, the eDirectory Server Software Package for NetWare is named eDir873x_NetWare_Patch_ZFS.SPK prior to compilation. This file includes the logic for the content and pointers for where to find the files. The compiled file (xxx.CPK) includes the content and the logic ready to apply to the Subscriber-configured server. Files do not have to be part of the package as you will see in the Open Enterprise Server upgrade Server Software Package. You will separate the files into the simple file distribution to be sent out. The Server Software Package is manifest in a logic-only CPK.
The Software Package Processor is available on all server platforms on which ZENworks Server Management runs, namely SUSE LINUX, NetWare 5 through NetWare 6.5, and Windows servers. Please see the Novell documentation on the Web for an exact list of what service packs are required prior to installation.
Each Server Software Package consists of one main component and subordinate components. The main component contains variables and requirements that apply to the entire package. The subordinate components also contain requirements, but they apply only to one subsection of logic. Each component can perform the features outlined in the following table:
Component Features of Software Packages
|Feature ||Description ||Example|
|Base component processes on requirements with specific values
- Operating system
- Disk space
- Set commands
|This is useful if you want just one Server Software Package to apply to multiple operating system versions. Each component can be set to execute only for that operating system version.|
|Execute the following items prior to each component processing
- Load or unload NetWare loadable module (NLM) commands
- Load Java class
- Start or stop services
- Pre-execute a system, NetBasic, or Perl script
|This is useful when you back up a directory. Before you back up the files, you can unload the NLM, Java process, or services loaded from this directory.|
|Copy files around the server volumes or up to the server from the package
||Copy or move files on the local server or copy new files from the Server Software Package to the server.
||This is useful in copying files you are about to use as upgrade or patch. It is also useful in backing up files before patches and in placing them patch directories so they are ready to patch.|
|Manipulate strings within existing text files (or those just copied onto the server)
- Search and replace words in files.
- Utilize an extensive array of tools.
- Append or prepend.
- Add words after or before.
- Add lines before or after.
- Nest variables here to add granularity.
|See the Open Enterprise Server upgrade section for a good example of how to use this feature. The Open Enterprise Server strings needed a silent installation script written specifically for each server. (Use this feature and rewrite them when they are run.) This is also useful for changing the /etc/hosts setting on all servers.|
|Apply a common "Set Parameter" configuration to NetWare servers and set, remove or modify registry settings
||Standardize settings, set and/or remove settings, and install or remove applications (Windows or NetWare registry-setting changes)
||The upgrade compiled packages for network management agents use these to insert new registry settings.|
|Add, replace or modify PRODUCTS.DAT entries on a NetWare server
||Allow the installation of new applications
||This feature is commonly used in NetWare and eDirectory patches.|
|Perform post-installation tasks
- Load or unload NLM commands
- Load Java class
- Start or stop services
- Run Red Hat Package Manager (RPM), Microsoft Installer (MSI), or IPS scripts
NOTE: To run these, load the post-installation script and add the command line arguments. See the sections on eDirectory patches and the policy and distribution patches for examples of both.
|See the ZENworks Server Management patch compiled package for an example of running RPMs.
The eDirectory patches on NetWare launch IPS scripts with arguments that ensure it runs silently.|
A graphical user interface helps you to configure application content. You can set restrictions on each component. They can be as simple as a registry setting, a file, an entry in SYS:SYSTEM\PRODUCTS.DAT, or they can be as general as an operating system version. For example, you could restrict a patch to be applied only to NetWare 6.5, but not to 5.1 or 6.0. If necessary, restrictions can be just as granular with the whole Server Software Package.
Of course, Novell provides an array of ready-made compiled packages: ZENworks patches, Java update patches and ZENworks agent installations are available for download via the Novell Web site. You merely need to insert the relevant compiled package file into a distribution, schedule it, assign it a channel, then send it out.
Mechanics of Tiered Electronic Distribution
No discussion about ZENworks Server Management is complete without talking about Tiered Electronic Distribution. This is the main conduit for moving content, polices, and patches throughout your server network. The simplest configuration for Tiered Electronic Distribution is where one server operates as the Distributor. The Distributor's role is to maintain, build, and schedule the sending of content polices and patches to all other servers, which are called Subscribers. A Subscriber's role is to receive, extract, and apply content to its server.
The Distributor controls who gets what content, and when. It schedules the building of patches, content and polices, including when it sends the data across the physical network. To ensure that Tiered Electronic Distribution does not duplicate bandwidth usage, it employs a mechanism known as "checkpoint" restart. In other words, when necessary, it stops a trans-network delivery at a scheduled time and then later continues where it left off.
Content, policies, and patches are packaged into single units called Distributions. Distributions compress the files and provide a single reference for all of your content. The design allows the Distributor to build delta Distributions. In other words, only the changes are sent across the wire, rather than the whole Distribution.
Tiering and controlling the paths these Distributions take as they move through your network can save CPU resources and WAN utilization. Here, intermediate servers are used as "holding stations." Their job is simply to receive content from and send it to other leaf servers. If the patch is not destined for them, they do not extract and apply it; they simply hold it and forward it on to the appropriate server. These servers are called Parent Subscribers.
Today, most patches come as prepackaged units, as in the case of NetWare support packs. They can be downloaded from the Web as a single executable unit. Linux receives its updates in the form of an RPM . Patches and products from Microsoft are prepackaged in the form of an MSI. Both RPMs and MSIs contain files and logic for installation.
While ZENworks 7 Server Management with SP1 provides the ability to leverage all of these package types, Novell also provides customers its own package type—Server Software Package—for delivering the installation logic and files for patching Novell servers through ZENworks Server Management. The entire patch and the logic to install it is compiled into a single file with the extension .cpk, then placed into a Distribution that can be transported through your Tiered Electronic Distribution network.
Appendix B: Sample ZENworks Handheld response file.
Accept Next Root Cert=0
Name=ZENworks Handheld Management Proxy
Details of upgrade setup.iss
Accept Next Root Cert=0
Name=ZENworks Handheld Management Proxy
Appendix C: Terms Used in This Document
Component: The Server Software Package of ZENworks Server Management organizes its logic into components. The logic flows top to bottom and left to right. The main component contains variables, restrictions and information that relates to the whole, while each individual component contains variables and restrictions that only apply to itself.
Distribution: The entity (read group of files) that contains policies, files, and the compiled package or applications to be sent to each Subscriber.
Distributor: The server that makes and distributes content, software packages, applications, and policies. The server pairs with corresponding object in eDirectory.
IPS SCRIPT: A file extension that designates the installation script for NetWare servers.
Products.dat: A btrieve file that contains a list of applications installed on a NetWare server.
Subscriber: The server that receives, extracts, and applies the content, software package, or application. The server pairs with the corresponding object in eDirectory.
Variables: A word which contains data that can be changed based on the location or administrators' preferences. These can be found in the installation scripts and software packages.
NOTE: Any references to Novell Open Enterprise Server are intended to mean only traditional NetWare—never Linux.
Appendix D: Credits and Legal Attribution
|Martin Irwin ||Senior Software Engineer, ZENworks Engineering, Novell Inc.|
|Raghu Kalyan Anna ||Senior Software Engineer, ZENworks Engineering, Novell Inc. |
|Mark Schouls ||Product Manager, ZENworks, Novell Inc|
|Anand Sinha||Senior Technical Consultant, ZENworks Engineering, Novell Inc. |
|Shaun Pond||ZENworks Resolution Engineer, Novell Inc.|
*Windows is a registered trademark of Microsoft Corporation. Linux is a registered trademark of Linus Torvalds. Palm is a registered trademark of Palm, Inc. RIM and BlackBerry are trademarks of Research in Motion, Ltd. Tivoli is a registered trademark of the IBM corporation. HP OpenView is a registered trademark of Hewlett-Packard Development Company. All other third-party trademarks are the property of their respective owners.
ZIP File: Mass install of ZENworks Hand held Management 7 sp1.
ZIP File: Mass upgrade from ZENworks Handheld Management 6.5 to ZENworks Handheld Management 7 sp1.
Disclaimer: As with everything else at Cool Solutions, this content is definitely not supported by Novell (so don't even think of calling Support if you try something and it blows up).
It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.