Consistently Consistent: Software Packaging with ZENworks 6.5
Articles and Tips: article
09 Dec 2004
In June 2004, Novell released the most powerful, full-featured, most reliable version of ZENworks ever. Since then, Novell ZENworks 6.5 has been in high demand. Many of you are familiar with the ability to do desktop management with ZENworks, but did you know that with the ZENworks 6.5 Suite, you can do enterprise-class desktop management, server management, handheld management, data management, Linux management, patch management, personality migration and even software packaging?
As you can see in Figure 1, ZENworks helps you manage your resources throughout their lifecycle and does this unlike any other change and configuration management vendor. You can assign identities to applications, workstations, and other IT resources that can then be assigned to specific users or groups--all driven by your business policies. After all, you're trying to make users, not devices, productive!
Figure 1: ZENworks manages resources across their entire lifecycle using identities.
One of the first steps in the asset lifecycle is application management. A big aspect of application management is software packaging. Novell chose to partner with the leader in software packaging, InstallShield, now a Macrovision company, and ZENworks 6.5 now includes AdminStudio ZENworks Edition. This powerful, easy-to-use tool provides market leading capabilities. This article will help you understand just some of the value of software packaging and how AdminStudio ZENworks Edition can put the bow on your software packages.
The Value of Deploying MSI-Based Applications
Windows 2000 and Windows XP promise significant ROI, but most of that cost savings is tied into migrating an organization's network of applications to the Windows Installer (MSI) format. Applications in the Windows Installer format are far easier for IT departments to manage, and offer several important features that reduce TCO by simplifying the installation, customization, and management of applications including:
The ability to deploy applications to locked-down workstations
Self-healing and auto-repair of key product files that have been corrupted or removed
Advertising applications without initially loading software
Rollback to a workstation's original state after a failed installation
Clean installation/uninstallation of applications without any user interaction
Using transform files to customize software to any user requirement
Adding conditions to ensure that software will not install unless certain items exist on a target system
In order to help IT departments convert their non-MSI applications to the Windows Installer format, Novell has included with the new ZENworks 6.5 a custom version of AdminStudio (AdminStudio ZENworks Edition), the leading software packaging, customization and testing solution. Besides enabling enterprises to take advantage of the Windows Installer service, AdminStudio ZENworks Edition provides tools for creating transforms to customize MSIs, as well as generating MSI distribution objects for ZENworks Desktop Management or ZENworks Server Management software deployments.
Automating the Repacking Process
Correctly converting your software to MSI packages is the first crucial step to ensuring successful deployment, long-term reliability and problem-free coexistence with all current and future applications in your environment. Unfortunately, repackaging legacy setups to the Windows Installer format can be time consuming and inaccurate if performed manually. The results are often low-quality MSI packages with incomplete functionality that can cause the application to perform poorly once deployed.
When you deploy an application using ZENworks, you typically encounter three types of software setups: vendor-supplied MSI packages, legacy setups, and ZENworks snAppShot AOT or AXT files. MSI packages do not require repackaging and go directly to customization, but the other two formats must first undergo conversion to Windows Installer before they can be customized.
ZENworks 6.5 owners can greatly simplify the MSI repackaging process by using the Repackager tool found in the built-in edition of AdminStudio ZENworks Edition to repackage AOT/AXT files or legacy setups. For AOT/AXT files, simply open the file in the Repackager tool and AdminStudio ZENworks Edition automatically converts it to a Repackager project. Repackager projects can be built into Windows Installer packages (discussed later in this article).
For legacy setups, Repackager offers two options for repackaging: the traditional snapshot method (this is not ZENworks snAppShot) and installation monitoring. The snapshot method involves taking a reference snapshot of a system as a baseline configuration, running the legacy setup and then taking a second snapshot. The difference between the two snapshots is converted into a file that can be built into a Windows Installer package.
Installation monitoring takes less time than traditional snapshotting. It skips the snapshot process entirely and instead simply "watches" a system for any processes that are created during an installation, then identifies files, shortcuts and registry entries that are added, modified or removed by the installation. The resulting project can be built into an MSI package.
Ensuring MSI Package Accuracy
AdminStudio ZENworks Edition's Repackager has two unique features for ensuring your Repackager file includes the most accurate data possible: the Setup Intent Wizard and the SmartScan Wizard. The Setup Intent Wizard scans a setup to identify files that may not have been captured during repackaging--effectively recognizing the installation's original intent for these files--and adds them to the Repackager project.
The Wizard does this by scanning the project files that have already been captured to determine if they have any static file dependencies that were also part of the project, but are not yet included in the captured file set.
If the legacy setup you are repackaging was originally created using InstallShield technology (as are the vast majority of the world's setups), the SmartScan Wizard automatically launches to assist in repackaging accuracy and completeness. The SmartScan Wizard scans InstallShieldauthored installations for setup information that may not have been accessed, and therefore not captured, during repackaging. This could include additional binary files, INI files, shortcuts or registry data. Often such elements are associated with languagespecific setups or platform-specific setups not utilized explicitly during this repackaging process. The SmartScan Wizard can also identify and preserve the feature hierarchy and even information about features that were not selected during the repackaging process. (See Figure 2.) Any items found will be displayed in Repackager using a different color for easy identification.
Figure 2: The SmartScan Wizard can identify and preserve the feature hierarchy.
Building Windows Installer Packages
Once you have created a Repackager project out of your AOT/AXT file or your legacy setup, you can view the included data in the Repackager, where you can selectively include or exclude captured data. (See Figure 3.) For example, if you inadvertently capture unnecessary data from a temporary folder, or if the setup installed unwanted desktop shortcuts, you could exclude them when building your MSI package. If you later find that data you excluded is actually necessary for the package to work, you only need to reinclude it in Repackager -- not spend time recapturing the entire setup again.
Figure 3: You can view the included data in the Repackager to selectively include or exclude captured data.
It is important to note that AdminStudio ZENworks Edition also gives you the option of applying global exclusions to captured data every time you use Repackager; this ensures adherence to your company guidelines for what data is excluded from all packages.
Once you make the necessary exclusions, AdminStudio ZENworks Edition converts your Repackager project to a pure MSI package.
Customizing an MSI Package Using Transforms
Different user groups within an organization often use the same application, but that doesn't mean they require the same feature set. One of the benefits of Windows Installer is that if you have 10 user groups needing 10 different feature sets or other alterations for the same application, you don't need to spend time creating 10 different MSI packages. You can deploy the same MSI package to all 10 user groups, but with a different transform file (MST) applied at runtime for each group.
A transform file is a collection of changes applied to an MSI installation. It contains all modification information, such as whether features are installed; how they are installed; which files, shortcuts, and registry entries are included; and Add/Remove Programs applet information. By applying a transform to an MSI package, it can add or replace data in the installation database.
AdminStudio ZENworks Edition makes it easy for you to create transforms. Simply open the Tuner tool, and point to the source MSI package. Each view in the Tuner interface controls different aspects of the package. (See Figure 4.) Changes made to the project while in any of the Tuner views will be saved to a transform file. You can create multiple transforms for the same MSI package.
Figure 4: The Tuner Tool helps you to easily create transform files.
When using multiple transforms, keep in mind that the order in which they are applied is critical. For example, if you create a transform for a Windows Installer package that creates a new value for a property, and then create a second transform that changes the value created in the first transform, everything works correctly. However, if you apply the second transform first, that transform is attempting to modify the property's value, instead of creating it, which will result in an error.
One simple example of where this may be a problem is with the default company name. If the value is not set by default, and you set it in using the first transform, a new value for the property is created. If you create a second transform that modifies the combined original package and first transform, and the second transform changes the default company name, it is only changing the property. However, if you try to apply the second transform without the first one, Windows Installer interprets this as trying to change a null value to another value, which will result in an error.
When to Use Tuner vs. the Editor
Most system administrators use InstallShield X (AdminStudio's Editor included with AdminStudio Professional Edition) to import repackaged setups and convert them into Windows Installer packages. The Editor is also ideal for making changes to the package that you want reflected in all deployments of the package. However, AdminStudio recommends you use Tuner to create transforms for changes that you only want to affect a particular deployment, rather than every installation.
Preparing an MSI Package for ZENworks Deployment
The final step in migrating an application to the MSI format is preparing your MSI package for distribution. AdminStudio ZENworks Edition includes the Distribution Wizard to assist you in deploying your package (and any associated transforms) to a ZENworks Desktop Management or a ZENworks Server Management application. As a side note, the Distribution Wizard can also help you deploy MSI packages to an administrative location, an FTP server, or a network location, if you so choose.
AdminStudio ZENworks Edition automatically creates MSI distribution objects for ZENworks Desktop Management or ZENworks Server Management deployments. Simply select the method of deployment from the Distribution Wizard, and AdminStudio ZENworks Edition does the rest, enabling a seamless handoff to ZENworks 6.5. (See Figure 5.) Deploying reliable MSI packages -- and realizing the ROI benefits of an easier-to-manage operating environment -- has never been easier.
Figure 5: The Distribution Wizard automatically creates MSI distribution objects for ZENworks deployment.
Additional Tools for Ensuring Software Package Quality
As previously mentioned, the version of AdminStudio found in ZENworks 6.5 is a custom edition. The full edition of AdminStudio contains several additional features for ensuring your software rollouts are reliable and efficient.
These additional AdminStudio components are included with AdminStudio Professional Edition:
DevStudio: Customize Windows installer packages directly or author new packages.
Application Isolation Wizard: Reduce versioning conflicts by modifying an application so it always loads the versions of components--such as DLLs--with which it was originally developed and tested.
Quality Monitor: Test a Windows Installer--based application in the targeted deployment environment to ensure the application works as expected.
OS Snapshot Wizard: Scan your computer's operating system and record the current files, INI files, shortcuts and registry entries.
ConflictSolver: Identify and eliminate software conflicts before deployment.
InstallScript MSI Setup Support Applications with setups that combine InstallScript and Windows Installer can be a headache to manage. Only AdminStudio automatically converts your InstallScript MSI setups into 100 percent pure MSI installations, making them easier for you to handle.
Direct MSI Editing Instead of using transforms to customize an MSI file, you can use AdminStudio ZENworks Edition's MSI editing functionality to directly edit any MSI package. AdminStudio ZENworks Edition makes it easy to add or remove files, shortcuts and registry entries from the MSI file to ensure the package meets your specific corporate standards and end-user requirements.
Conflict Detection and Resolution Every time you distribute software you run the risk of that package conflicting with other installed applications and restricting the availability of missioncritical software. AdminStudio ZENworks Edition can check a software package--or multiple packages simultaneously--before deployment for any number of conflicts against any application and operating system in your enterprise. Depending on the nature of the conflict, AdminStudio ZENworks Edition either instantly corrects it or provides tools for you to do it yourself according to your corporate standards.
OS Snapshot Wizard AdminStudio ZENworks Edition's OS Snapshot Wizard provides a simple way to capture your basic operating system configuration and import it directly into AdminStudio ZENworks Edition's Application Catalog to use for detecting and resolving conflicts. Using the OS Snapshot Wizard to automatically capture the state of an operating system improves AdminStudio ZENworks Edition's ability to identify and eliminate potential conflicts between MSI setups and your operating system before you deploy.
Application Isolation Wizard Whenever you deploy an application, there is the possibility of plunging your software into "DLL Hell." DLL Hell occurs when new applications installed on a system inadvertently delete a DLL or overwrite it with an obsolete version, causing every application sharing that DLL to fail. AdminStudio ZENworks Edition's automated isolation testing tool lets you quickly determine if your packages will interfere with your other software. If there is a problem, the Application Isolation Wizard can partially or totally isolate an application before you deploy it, ensuring your applications are unaffected by the rollout.
Quality Assurance Testing AdminStudio ZENworks Edition will automatically test your packages before you deploy to ensure they will work--and continue to work--as expected once installed. AdminStudio ZENworks Edition automatically verifies that all installation features, such as file extensions and shortcuts, are configured correctly, and also ensures that no potential uninstallation problems exist and that the application has sufficient access rights to operate in a locked-down environment.
Risk-Free Deployment Testing Want to know the results of a package's deployment without actually deploying it? AdminStudio enables you to simulate the real deployment of an application without physically installing it on any target machine. Not only will AdminStudio determine any issues with disk space and install conditions, it will also check for conflicts with other MSI packages already on each system.
ZENworks 6.5 owners wanting this additional functionality, and more, can easily upgrade from AdminStudio ZENworks Edition to the full-featured edition of AdminStudio Professional. Simply purchase AdminStudio Professional and enter your new serial number in the Activation dialog launched from the Help | About dialog.
Tie It Up With a Bow
As you can see, ZENworks 6.5 provides the solution you need to create a consistent and stable software environment. With AdminStudio ZENworks Edition you will make all your users happy when you deliver software packages tied with a bow. It's like Christmas every day!
Just the Right Parts
The following AdminStudio components are included with AdminStudio ZENworks Edition:
AdminStudio ZENworks Edition Components
Repackager Repackage and convert legacy setups into Windows Installer packages.
Tuner Build Windows Installer Transforms for changing features, adding files or making other modifications.
Distribution Wizard Get your packages ready for distribution through ZENworks.
Custom Fitting Components
The Windows Installer service requires installation packages to be in the Windows Installer format, a specific, structured storage format. These files have the extension .msi and have four primary components:
The header to the package file contains information such as version, date and vendor.
Database of installation instructions
The most critical component of the MSI package file, the relational database consists of many tables of data and instructions. The information in the database determines which files, registry entries, shortcuts, etc., are implemented and under what conditions. Three unique tables are associated with instruction sequences and there are many supporting data tables.
Application files or references to them
The application files can be included in a compressed form, or pointers to them may be provided.
The MSI file may contain one or many Transforms, which are templates for table modification. Administrators or users have the option to apply these modifications after creating the base package. You can use Transforms to meet the needs of specific machine types, departments, etc. You can also save Transforms as independent MST files. The availability of Transforms enables the use of a single base package file across groups with highly diverse requirements.
Repackager Best Practices
When using Repackager, always consider the following best practices:
Capture everything using the Repackaging Wizard and exclude using the Repackager Interface
The recommended model is to repackage using the AdminStudio-provided exclusions and then use the Repackager Interface to visually remove unwanted items from the capture. Because this occurs post-capture, you do not need to recapture the legacy setup if you inadvertently exclude items from the Windows Installer package you are building.
Because Windows Installer does not support packaging device drivers, you need to create custom actions to install device drivers.
Repackage on a clean system
It is essential that you repackage applications on a "clean" system to ensure you capture all changes made by the installation.
Exit all other applications
Other applications may lock files or directories, and may hinder the performance of the setup and repackaging.
Run Repackager over the network
Repackager is configured to ignore its own files and output by default, which is sufficient in most cases. However, if you want to ensure your machine is completely clean, run Repackager remotely over the network and store output files to a network drive. For example, if you are repackaging on a clean system and have AdminStudio ZENworks Edition installed on a production machine, map the production machine to a drive on the clean system. You can then run Repackager from the production machine.
When picking an output directory, store the output back onto the production machine instead of on the clean machine. This process ensures you do not inadvertently capture Repackager files during repackaging. This functionality works whether you use a physical computer as a clean system or a program such as VMware to create a virtual clean system.
Only repackage non-MSI-based setups
Windows Installer setups should not be repackaged. Microsoft recommends that you edit the MSI file by creating a transform. This can be done using AdminStudio.
You should not repackage MSI packages for the following reasons:
Repackaging an MSI package is against Microsoft Best Practices.
If you make changes to an MSI package, vendors will no longer provide support for that product.
If you repackage an MSI package, the component codes within the MSI package are not retained and hence future patching or upgrades will not work.
Traditionally, repackaging tools will ignore the MSI specific data in the registry. This will result in an incomplete package.
* Originally published in Novell Connection Magazine
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.