Application Packaging Process
Application Packaging Process
For information about purchasing this training manual and to learn about
other training materials, please visit http://www.flexerasoftware.com.
3
Repackaging Process
Repackaging is the process of converting a legacy installation into a Windows Installer MSI package. In Chapter 2,
Preparing for Application Packaging, you prepared for a repackaging project by creating a standard storage
structure and preparing documentation such as the Installation Flow and Acceptance Test documents. In this chapter,
you perform a full repackaging project.
Before launching Repackager, copy the legacy installation’s files to the 1_LegacyInstallation directory of your
project’s storage structure.
Important • Do not use Repackager to customize existing MSIs except to create a virtual application.
Important • Repackager is not intended for repackaging operating system installations, service packs, or deeply
integrated operating system components such as Internet Explorer. Moreover, components such as the Microsoft .NET
Framework should be included in the clean image or installed by a setup using the vendor’s redistributable. Some of
these redistributables are described in Chapter 4, Using InstallShield Editor.
• Using the Installation Monitoring Method to Repackage a Legacy Application on page 100
• Run the Repackaging Wizard remotely by creating a shortcut on the clean machine, as described in
Chapter 2, Preparing for Application Packaging (and not from the AdminStudio interface).
• Use the Repackaging Wizard on a clean image only, as defined in Chapter 2, Preparing for Application
Packaging, and not on a system that has AdminStudio installed on it.
• Do not run unnecessary applications on the clean repackaging image when performing the installation.
• Create a corporate template that includes customized Repackager settings in the Options.ini file., and other
customizations stored in an InstallShield project to apply in the Repackager at build time.
Repackager Interface
Use the Repackager interface to:
• Convert Novell ZENworks, Microsoft SMS, WinINSTALL, or Wise installation projects into Repackager projects
• Convert Windows installer packages into Microsoft App-V, Citrix XenApp, or VMware ThinApp applications
The following items are available under the Repackager Tools menu.
• Repackaging Wizard—The Repackager interface provides access to the Repackaging Wizard to convert a
legacy installation into a Repackager project. Using this wizard, you can select the repackaging method (either
Snapshot or Installation Monitoring), specify the installations to repackage, and run the installations. The
Repackaging Wizard is discussed later in this chapter.
• VMware Repackaging Wizard—The Repackager interface includes integration with VMware Workstation’s
virtual-machine technology. This provides you with the ability to launch a VMware session for repackaging
purposes and run different operating systems on the same computer.
• Colors—Configure the color of scanned items and deleted items in Repackager's exclusion views (Files, .ini
Files, Registry Data, and Shortcuts).
• Merge Modules—Specify additional directories containing custom merge modules to use during
repackaging.
• Build Options—Specify whether to list ICE validation warnings in the Repackager output window during
the Build process. On the Build Options tab, you also can enable the creation of software ID tag transforms
during import and repackaging, and specify the Tag Creator Name and Tag Creator RegID.
Installation Monitoring, which is the default repackaging method, is significantly faster than the Snapshot
repackaging method, which is described later.
For example, if the installation you are capturing is from a self-extracting .exe file, add the name of that .exe file to
the list of excluded processes:
Instead, launch the Repackaging Wizard from a shared network folder, as described in Chapter 2, Preparing for
Application Packaging. The Repackaging Wizard executable is named Repack.exe.
1. From a clean installation, launch the Repackaging Wizard from a shared network folder, as described in Chapter
2, Preparing for Application Packaging.
2. Click Next.The Method Selection panel opens, prompting you to select a repackaging method:
The Collect Product Information panel opens, prompting you to specify the legacy installation program you
want to monitor:
4. In the Program File field, browse for the legacy installation’s main executable (commonly called setup.exe).
• As described in Chapter 2, Preparing for Application Packaging, you typically copy the legacy installation to
your project’s 1_LegacyInstallation subdirectory in your storage structure.
• The directory you specify can be located on the local development system or an accessible network drive.
• You can also optionally specify command-line switches for the legacy installation executable in the
Command-line Argument(s) field.
5. In the Product Information area, enter information about the application and your company using the
guidelines in the following table.
Settings Description
Product Name Product Name becomes the name of the MSI database created, as well as the
display name for the application in the Add or Remove Programs panel.
Note • In Chapter 4, Using InstallShield Editor, you learn how to further modify Add or
Remove Programs data for the application using InstallShield Editor.
Company Name Company Name is the name of the software vendor or developer of this application.
It is written as part of the target system’s Add or Remove Programs data for the
current installation.
Settings Description
Version Product Version is written to the target system and is visible as part of the product’s
support information in the target system’s Add or Remove Programs panel.
For the sake of possible future upgrades, as described in Chapter 11, Upgrading
Products, use a three-field version number, as in 1.2.3.
More Click the More link to open the Additional Product Information dialog box, where
you can specify a URL for the Product and Support web sites for the product:
The Product and Support URLs are written to the target system and appear in the
Support Information dialog box in the target system’s Add or Remove Programs
panel.
The default values in the Product Name, Version, and Company Name fields are obtained from the version
information in the legacy installation executable you select. These values sometimes reflect the version of the
software used to package the legacy installation and do not reflect the product information for the application
being installed. Therefore, it is sometimes necessary to modify these fields before continuing.
To combine the effects of multiple legacy installations into a single repackaged project, click Edit Setup List and
browse for additional installation programs or batch files (and specify command-line arguments to pass to
them), arranging the installations in order. Use this to configure the application after the legacy installer
completes, or to apply a legacy upgrade to it.
6. Click Next.
The Set Target Project Information and Capture Settings panel opens.
7. In the Project path to store files to: field, indicate where to store the repackaged project.
The directory you specify here becomes part of the application’s storage structure, as described in Chapter 2,
Preparing for Application Packaging. This directory can be on the local development system or an accessible
network drive.
To capture the steps of the installation of the legacy application to create a set of installation instructions, you
can use the Microsoft Problem Steps Recorder. You can do this during the prepackaging/technical discovery
process as discussed earlier or as an alternative, you can record the steps during the repackaging process by
ticking on the Run Microsoft Step Recorder box during the capture, as shown in the figure below. The recording
will automatically be stopped when all setups have been launched. The recorded steps will be stored in an .mht
file in the your equivalent to the RepackagerandSourceFiles folder. If this process has already been performed,
leave the box unchecked.
8. Optionally, click Edit to expose the Analysis Options panel shown in the following figure. Use this panel to
review or modify the data types monitored during capture. An option is included to monitor configuration files
in the .INI format but with other extensions.
You may also change the path to the exclusions file that will be used with this project. If a shared exclusion list
exists, (isrepackager.ini, as discussed earlier in this manual, page 47) you may want to specify it here.
Optionally, you may also add or remove exclusions by clicking on Edit from inside of the Analysis Options
screen. This will take you to the same view as when launching analysisoptions.exe, also discussed earlier in this
manual.
Note • When performing captures on 64-bit operating systems, you will see somewhat different dialog boxes than
are displayed and described in the pages of this book.
9. Click Start. The Repackaging Wizard launches the legacy application and begins monitoring its installation. If
the box was checked to launch the Problem Steps Recorder, it will be launched at the same time the legacy
installer starts to run, as in the screen shot shown here. You can stop the recording at any time, but otherwise, it
will automatically end after clicking the Done button in step 10 and the Process button. The figure below
shows a legacy installer running with the Problem Steps Recorder recording.
Enter information and respond to the resulting dialog boxes as prompted, closely following the installation
instructions in your Installation Flow and Options document created in Chapter 2, Preparing for Application
Packaging.
After the installation, the following screen opens prompting you to click Done when you are ready to complete
the monitoring process.
10. Click Done. The following Repackaging panel appears, indicating that post-installation analysis comes next.
You can perform other system changes before Processing the capture-such as launching the installed
executable, deleting desktop shortcuts, moving Programs-menu shortcuts, and other requirements in your
installation instructions-before initiating the post-installation analysis.
Note • At this point you should wait a few minutes before continuing. Some legacy installations launch hidden
processes to clean up temporary data, and waiting before performing the final scan ensures these temporary files
and registry data are deleted and not included in the final scan.
If you have no additional changes to make, you should always give the installer a chance to complete before
clicking the Process button.
11. Click Process to begin the post-installation analysis. to begin the post-installation analysis. (On a 64-bit o/s,
instead of Process you will see a Next button to click on to proceed.)
Important • Optional at this point: If the legacy installation prompts for a reboot, you must decide whether to
capture that reboot now or accommodate it by requiring a reboot later. The Repackaging Wizard will continue
processing after the reboot.
The Summary panel eventually appears with information about the repackaging process.
13. Exit Repackager without making any changes to the .irp file.
14. Optionally, before reverting or reimaging the repackaging machine, copy the repack.log and
repack_username.log from this machine’s C:\Windows folder to the documentation folder in your storage
structure. You may also want to verify that the repackaged output files are stored in the storage structure where
you'll be able to access them in the future
• Single Step—System status is analyzed first, then setup programs are run, after which the system is analyzed
again.
• Multiple Steps—The InstallScript installation logic is not preserved with this method. Additionally, this method
makes initial system status scan and system change analysis optional.
Note • To convert an InstallScript MSI package to a Basic MSI that preserves the InstallScript installation logic, select the
Installation Monitoring method or the Single Step snapshot method.
Note • An advantage to using the Multiple Steps snapshot method is that you do not need to launch an installation;
you can launch one or more batch files, or duplicate manual steps required by a printed installation procedure.
1. From a clean installation, launch the Repackaging Wizard from a shared network folder, as described in Chapter
2, Preparing for Application Packaging.
2. Click Next.
The Method Selection panel opens, prompting you to select a repackaging method:
3. Select Snapshot and click Next. The Snapshot Method panel opens:
Also select the Prompt before running the setup programs option if you want Repackager to display a
message before running legacy installations. This lets you perform any required pre-installation configuration
before taking the initial operating system snapshot.
5. Click Next.
The Collect Product Information panel opens. Here you specify the legacy installation program to monitor:
6. Repeat Step 4 through Step 12 of the procedure Using Installation Monitoring on page 103.
1. Select Multiple Steps and Analyze the initial system status on the Snapshot Method panel.
2. Click Next. The Repackaging panel opens and displays progress of the initial system status capture.
When Repackager finishes, the Summary panel opens, prompting you to install the application you want to
repackage:
3. Click Finish to close the Repackaging Wizard and continue with the next section.
1. Launch the installation program for the application you are repackaging, if you have one.
3. Make additional changes to the system (such as deleting files and shortcuts) that you want recorded in the
repackaged installation.
Note • When the legacy installation is complete, wait a few minutes before starting the post-installation system
snapshot. Some legacy installations launch hidden processes to clean up temporary data, and waiting before
performing the final scan ensures these temporary files and registry data are deleted and not included in the final
scan.
5. Click Next.
The Snapshot Method panel opens with Multiple Steps selected, and with the Analyze system status changes
option enabled and selected.
7. Click Next.
The Collect Product Information panel opens. Here you specify the legacy installation program to monitor.
Continue with the next section.
Therefore, repeat Step 5 through Step 6 of the procedure Using Installation Monitoring on page 103.
Note • Because you are now performing the second step of a multiple-step Snapshot, the Setup Programs area is
disabled, since you have already installed the application you are repackaging.
Therefore, repeat Step 7 through Step 9 of the procedure Using Installation Monitoring on page 103.
Click Finish to close the Repackaging Wizard. When the Smart Scan Wizard opens, click Cancel. The new
Repackager project file (.irp,) opens in the Repackager interface. Exit Repackager without making any changes to the
.irp file.
• Review the captured output before building the InstallShield Editor project (.ism) or Windows Installer package
(.msi)
• Ensure that no irrelevant registry data or files are included in the repackaged installation
These steps are in addition to the usual repackaging testing tasks, such as correcting errors and warnings that occur
when building and validating the Windows Installer package.
These files are text files and can be viewed and modified using Notepad or any plain-text editor.
File Description
ProductName.irp The Repackager project file. This is the main file for each repackaged or converted
installation.
ProductName.inc Contains information about files, shortcuts, and .ini file data detected during repackaging.
Also contains links to the captured registry data files described below.
Updated.isr Describes registry data detected during repackaging using the Installation Monitoring
method.
Deleted.isr Contains information about deleted registry data detected during repackaging (if your
analysis options indicate deletions should be detected).
Standard.nir Describes registry data detected during repackaging using either of the two snapshot
methods.
File Description
Options.ini Repackager creates this file at the beginning of the capture by copying it from the master
location into the designated repackaging folder for this application. The master location is
the same place that REPACK.EXE (the Repackaging Wizard) runs from.
If corporate templates are used, every packager should use the same version of
Options.ini for repackaging.
Repack.log Repackager creates this log file and outputs it to the WindowsFolder.
.mht If the Problem Steps Recorder is launched during the capture, output will be in an .mht file
in the same folder with the rest of the repackaged output files.
Note • The original repackaged output data is not affected if you exclude data in these views; the excluded information
is stored in the Repackager project (.irp) file.
As with files captured in a repackaged project, the main purpose of inspecting registry data is to ensure no irrelevant
data is included with the repackaged project. To exclude registry information, right-click its icon and select Exclude
from the pop-up menu. Excluded entries appear in red in the view. Included entries appear in black.
• Data located in HKEY_LOCAL_MACHINE\SYSTEM should be present only if the application installs a Windows
service or modifies hardware information.
• Registry keys or entries referencing ProgID strings or GUIDs should be left in the project as long as the
referenced string or GUID can be located in the registry data of another component or under a different key of
the same component. The search should be performed through the entire Direct Editor view, as described in
Chapter 6, Advanced InstallShield Editor Topics.
Shortcuts View
Use the Shortcuts view to review information about each captured shortcut, to selectively exclude shortcuts from the
package you are creating, or to re-include shortcuts you previously excluded.:
With this view you can configure the following package build options:
• Windows Installer package—Builds a Windows Installer package following conversion. If you select this
option, you can also specify the type of Windows Installer package to build.
• Isolated Version of Windows Installer package—Creates an isolated version of the Windows Installer
package.
• Run PackageExpert automated tests—Runs PackageExpert tests on the newly built Windows Installer
package to see if it is built to Windows Installer standards and if it complies with the installation requirements of
Windows Vista and Windows 7.
• Create a virtual application for the Repackager project—Creates a Microsoft App-V, VMware ThinApp, and/
or Citrix virtual application based on the contents of the Repackager project. After the Editor project is created,
you can further customize from within InstallShield Editor.
Option Description
Editor Project Use to provide the name and location of the InstallShield project (.ism) file. The
default is to store the .ism in a folder called MSI_Package under the designated
Repackager output folder.
Windows Installer Used to indicate the name and location of the Windows Installer package (.msi)
Package once it is built by the Repackager. If a Windows Installer package has not yet been
built from this Repackager project, (not built) displays instead.
Create Microsoft If this option is selected, after creating the InstallShield project file (.ism), a
Windows Installer Windows Installer (.msi) file is built based on that project file and stored in the
Package Editor Project folder location.
Windows Installer If you selected Create a Windows Installer package after creating the Editor project
Package Options option, select one of the following options:
• .MSI File With External .CAB File—Creates an .msi file and compresses the
rest of the necessary files in an external .cab file.
• .MSI File With External .CAB File and Setup.exe—Creates an .msi file and a
setup.exe file, and compresses the other necessary files in an external .cab
file.
Create Isolated Version of Creates a second, isolated version of the Windows Installer package when the
the Package Windows Installer package is built. Isolation reduces versioning conflicts by
modifying an application so it loads the versions of components—such as DLLs—
that it was originally developed and tested with.
The additional Windows Installer package is created in the same directory as the
.ism file and the other .msi file, with the following naming convention:
appname.isolated.msi
Option Description
Run Automated Tests on Select this option to automatically run best practice tests against the newly built
the Package Windows Installer package to determine if it is built according to Windows Installer
standards, and if it is in compliance with the installation requirements of the
Windows operating system.
Note • This option is only enabled when the Create Microsoft Windows Installer
Package option is selected and any of the values except for Single Compressed
Setup.exe File is chosen.
Create Microsoft App-V Creates a Microsoft App-V application when building a Windows Installer (.msi)
Package file. App-V applications can also be created in InstallShield Editor. This allows more
specific customizations to the Repackager results.
Create VMware ThinApp Creates a VMware ThinApp application when building a Windows Installer (.msi)
Package file. ThinApp applications can also be created in InstallShield Editor. This allows
more specific customizations to the Repackager results.
Create Citrix XenApp Creates a Citrix profile compatible with Citrix XenApp when building a Windows
Profile Installer (.msi) file. Citrix profiles can also be created from in InstallShield Editor.
This allows more specific customizations to the Repackager results.
Use the default Editor Uses the default InstallShield Editor template when building an InstallShield Editor
template project. A project template contains all default settings and design elements to use
as a starting point when creating an installation project.
Use a customized Uses a customized InstallShield Editor Project Template when building an
template InstallShield Editor project.
For example, if you want all InstallShield Editor projects to have a special custom
dialog, a set of required redistributables, and a specific SQL script, you could create
a project template that has all of those settings. Then, when you want to create a
project, you can base it off of your custom template. This way you avoid re-creating
the custom dialog, re-adding the redistributables, and re-adding the SQL script
every time you create an InstallShield Editor project.
Build Click to initiate the build process to build a Windows Installer package.
Option Description
Repackaged Output Tasks After an InstallShield Editor project and a Windows Installer package is built, use
these links to perform the following tasks:
Typically this information is pre-populated with information supplied by the Repackaging Wizard. This information is
overwritten if you use a customized template in the Repackager Output options.
When you use Repackager to convert a legacy package to a Windows Installer package, by default a tag file is
generated for each package when the Windows Installer package is built. Use the Software Identification Tag view to
edit this tag information:
Option Description
Generate Tag Answer Yes to include an ISO/IEC 19770-2 software identification tag to your
installation. The default value is Yes.
Require Software Specify whether you want to require your product to have a corresponding
Entitlement software entitlement in order for software reconciliation to be considered
successful. In general, if the software must be purchase, select Yes; if the software is
free, No should be selected.
Product Name Shows the name of the product, read from the Product Name property of the
Windows Installer package.
Product Version Shows the version of the product, read from the Product Version property of the
Windows Installer package.
Option Description
Unique ID Uniquely identifies the package by combining the Product Name, Version, and
GUID values from the Windows Installer package, joining them with the underline
character:
ProductName_ProductVersion_GUID
For example:
Tag Creator Enter a name to identify the creator of this tag file. The default value is:
Tag Creator RegID Enter a RegID to identify the creator of this tag file, using the following format:
regid.YYYY-MM.ReversedDomainName,optional_division
For example:
regid.2009-06.com.yourcompany,GlobalProductDivision
Software Creator Name Optional: Enter a name to identify the creator of this package. By default, the value
is Unknown. If the value of this field is left as Unknown, that string appears in the tag
file to indicate that it is not possible to determine the value for this field.
Software Creator RegID Optional: Enter a RegID to identify the creator of this package. By default, the value
is Unknown. If the value of this field is left as Unknown, that string appears in the tag
file to indicate that it is not possible to determine the value for this field.
Software Licensor Optional: Enter a name to identify the licensor of this package. By default, the value
is Unknown. If the value of this field is left as Unknown, that string appears in the tag
file to indicate that it is not possible to determine the value for this field.
Software Licensor RegID Optional: Enter a RegID to identify the licensor of this package. By default, the value
is Unknown. If the value of this field is left as Unknown, that string appears in the tag
file to indicate that it is not possible to determine the value for this field.
The following settings are available on the Advanced Package Settings view.
Setting Description
Use Editor path When storing files in the Editor project (.ism file), the wizard uses path variable
variables instead of locations when possible. Path variables define commonly used paths in a central
physical source paths location so you do not need to change every source file’s path if you move the project
or change the directory structure.
Display only the Only the Welcome dialog box appears when the Windows Installer package runs on
Welcome dialog the target machine. If this option is cleared, the default Editor UI sequence appears
during installation when the installation runs.
Setting Description
Replace files with Following best practice rules, AdminStudio replaces components with comparable
merge modules merge modules when possible.
wherever possible
Use the language When this option is selected, the language that Repackager detects during the
captured by repackaging process becomes the target package’s language. This is shown in the
Repackager as the Captured Installation view.
language of the setup
Mark components Components installed to the system folder (SystemFolder) are marked as Permanent
destined for the and the component’s files are not uninstalled when the application is uninstalled from
System folder as the target system. This eliminates ICE09 validation errors. (Validation errors are
permanent described in Chapter 4, Using InstallShield Editor.)
Map registry data to Select this option to reduce the number of ICE33 warnings that might occur during
the appropriate COM package validation (resulting from data not being mapped to the relevant Windows
tables Installer tables).
Map registry data to Select this option to map ODBC-related registry data to the ODBC tables instead of
the appropriate ODBC the Registry table. This data functions correctly only if Windows Installer supports the
tables ODBC resource being mapped. Do not enable this option if you are unsure whether
the ODBC resources are supported correctly by Windows Installer.
Map NT Service events Select this option to map NT Service–related registry data to the ServiceControl table
to the ServiceControl instead of the Registry table.
table
Include files from Files identified in the SmartScan are included in the package (unless you manually
InstallShield legacy excluded them from the project).
media scan
Exactly match legacy When selected, the generated component conditions include the specified operating
setup’s Operating system. By default, option is not selected, and component conditions contain
System requirements operating system groups (VersionNT vs. Version9X).
1. From the Repackager Project menu, select Create Report or press Ctrl+R.
2. Specify the Report Options, whether to indicate excluded items, and the report file format (HTML or text).
4. Specify the name and location for your report, then click Save to create the report.
You can store these Repackager Setup Capture Reports in the Application Catalog database along with the
applications you capture. More information about Application Manager and the Application Catalog is provided in
Chapter 9, Managing Applications and Application Catalog Databases.
Course Exercises
To see the course exercises that accompany this chapter, see Chapter 3: Repackaging Process on page 440 of
Appendix F, AdminStudio Course Exercises.