application packaging with pace suite 3 - infopulseinfopulse.com/global/pace/application packaging...

102
© 2014 Infopulse pacesuite.com Application Packaging with PACE Suite 3.3 Training Program

Upload: danghanh

Post on 25-Aug-2018

256 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

© 2014 Infopulse pacesuite.com

Application Packaging

with PACE Suite 3.3

Training Program

Page 2: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 2 of 102

© 2014 Infopulse pacesuite.com

CONTENTS

INTRODUCTION ............................................................................................................................... 6

1 WINDOWS INSTALLER OVERVIEW ............................................................................................. 7

1.1 Chapter Objectives ....................................................................................................................... 7

1.2 About Windows Installer ............................................................................................................. 7

1.3 Comparing Installation Technologies........................................................................................... 7

1.4 Obtaining .MSI files ...................................................................................................................... 8

1.5 Advantages of Windows Installer ................................................................................................ 8

1.6 How does self-repair work? ....................................................................................................... 10

1.7 About Logo Certification ............................................................................................................ 10

1.8 About the Windows Installer service ......................................................................................... 11

1.9 Installing the service .................................................................................................................. 12

1.10 Advertising ................................................................................................................................. 12

1.11 Overview of Windows Installer .................................................................................................. 13

1.11.1 Installation Package ............................................................................................................ 14

1.11.2 Components and Features ................................................................................................. 14

1.11.3 Installation Mechanism ...................................................................................................... 15

Acquisition ...................................................................................................................... 15

Execution ........................................................................................................................ 15

Rollback ........................................................................................................................... 15

1.11.4 Component Management .................................................................................................. 16

1.11.5 Advertisement .................................................................................................................... 18

Platform Support of Advertisement ............................................................................... 18

Remarks .......................................................................................................................... 18

1.11.6 Installation-On-Demand ..................................................................................................... 19

1.11.7 Resiliency ............................................................................................................................ 19

1.11.8 Customization ..................................................................................................................... 19

2 APPLICATION PACKAGING APPROACHES .................................................................................. 21

2.1 MSI repackaging ......................................................................................................................... 21

2.2 Vendor MSI transforming .......................................................................................................... 21

2.3 Legacy setup wrapping .............................................................................................................. 21

2.4 Virtualization .............................................................................................................................. 21

3 PACE SUITE OVERVIEW ............................................................................................................. 22

3.1 MSI Generator ............................................................................................................................ 22

3.1.1 Home screen ....................................................................................................................... 23

3.1.2 Project editing screen ......................................................................................................... 23

3.2 MSI Editor ................................................................................................................................... 24

3.3 App-V Generator ........................................................................................................................ 24

3.4 Docu Generator.......................................................................................................................... 25

4 THE INSTALLING AND CONFIGURING PACE SUITE ...................................................................... 26

Page 3: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 3 of 102

© 2014 Infopulse pacesuite.com

4.1 System Requirements ................................................................................................................ 26

4.2 Prerequisites .............................................................................................................................. 26

4.3 Installation ................................................................................................................................. 26

4.3.1 Using portable distributive (ZIP) ......................................................................................... 26

4.3.2 Using installer (MSI) ............................................................................................................ 27

4.4 Configuring MSI Generator ........................................................................................................ 30

4.4.1 MSI Profiles ......................................................................................................................... 31

Managing MSI Profiles .................................................................................................... 31

MSI Profile Settings ......................................................................................................... 31

4.4.2 Resource Filters .................................................................................................................. 37

Managing Resource Filters ............................................................................................. 38

Editing a Resource Filter ................................................................................................. 38

4.4.3 Settings ............................................................................................................................... 39

Packages folder ............................................................................................................... 39

Snapshot settings ............................................................................................................ 40

5 MSI GENERATOR ...................................................................................................................... 41

5.1 Creating a new Project ............................................................................................................... 41

5.1.1 Repackaging or Tailoring (creating a Response Transform) ............................................... 41

5.1.2 Preparation ......................................................................................................................... 41

5.1.3 Choose a repackaging method ........................................................................................... 41

5.1.4 Create First Snapshot.......................................................................................................... 42

5.1.5 Install and Configure your Application ............................................................................... 43

Filters .............................................................................................................................. 44

Detected MSI & log ......................................................................................................... 44

5.1.6 Create Second Snapshot ..................................................................................................... 44

5.1.7 Starting from a Blank Project .............................................................................................. 45

5.2 Editing a Project ......................................................................................................................... 46

Application information .................................................................................................. 47

Files and Registry ............................................................................................................ 48

Environment variables .................................................................................................... 50

Services ........................................................................................................................... 50

Printers ........................................................................................................................... 51

Permissions ..................................................................................................................... 51

Shortcuts ......................................................................................................................... 53

Properties ....................................................................................................................... 53

5.2.1 Building a Package .............................................................................................................. 54

Output Folder ................................................................................................................. 57

MSI Generator Project .................................................................................................... 57

Package Creation Log ...................................................................................................... 57

Locked or Missing Files ................................................................................................... 57

5.3 Opening an existing Project ....................................................................................................... 58

6 MSI EDITOR .............................................................................................................................. 60

Page 4: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 4 of 102

© 2014 Infopulse pacesuite.com

6.1 Basic and advanced operations ................................................................................................. 60

6.1.1 Creating new package ........................................................................................................ 60

6.1.2 Opening .............................................................................................................................. 60

6.1.3 Saving and generating a trasform ...................................................................................... 61

6.1.4 Compiling ............................................................................................................................ 61

6.1.5 Importing registry ............................................................................................................... 61

6.1.6 Importing files and folders ................................................................................................. 62

6.1.7 Adding, Dropping and Importing tables ............................................................................. 64

6.1.8 Active Scripting ................................................................................................................... 66

6.1.9 Find/Replace ....................................................................................................................... 68

6.2 Application Information ............................................................................................................. 69

6.3 Files ............................................................................................................................................ 69

6.4 Registry ...................................................................................................................................... 70

6.5 Shortcuts .................................................................................................................................... 70

6.6 Features and Components ......................................................................................................... 71

6.7 Custom Actions .......................................................................................................................... 71

6.7.1 Viewing and managing actions ........................................................................................... 72

Views ............................................................................................................................... 72

Actions list ....................................................................................................................... 72

Sequence ........................................................................................................................ 72

Filtering ........................................................................................................................... 73

6.7.2 Creating an editing custom actions .................................................................................... 73

Creating ........................................................................................................................... 73

Options of an action ....................................................................................................... 74

6.8 Properties ................................................................................................................................... 75

6.9 Table Editor ................................................................................................................................ 76

6.9.1 Row References .................................................................................................................. 76

6.9.2 Undo-redo stack ................................................................................................................. 77

6.9.3 Smart Field editing .............................................................................................................. 77

GUID Editing .................................................................................................................... 77

Numeric Editing .............................................................................................................. 78

Masked Attributes Lookup ............................................................................................. 78

Lookup ............................................................................................................................ 79

Special Lookups .............................................................................................................. 80

IntelliSense editing ......................................................................................................... 81

7 APP-V GENERATOR................................................................................................................... 84

7.1 Standalone sequencing of a new application ............................................................................ 84

7.1.1 Starting................................................................................................................................ 84

7.1.2 Create First System Snapshot ............................................................................................. 85

7.1.3 Install and Configure the Application ................................................................................. 85

7.1.4 Create Second System Snapshot ........................................................................................ 86

7.2 Editing App-V package ............................................................................................................... 86

7.2.1 Package options .................................................................................................................. 86

Page 5: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 5 of 102

© 2014 Infopulse pacesuite.com

7.2.2 Files and Registry ................................................................................................................ 87

7.2.3 Virtual Services ................................................................................................................... 88

7.2.4 OSD Files ............................................................................................................................. 88

7.2.5 Advanced features .............................................................................................................. 90

Properties Inspector ....................................................................................................... 90

Actions Pool .................................................................................................................... 92

7.2.6 Opening and Saving Packages ............................................................................................ 93

Saving a package ............................................................................................................. 93

Opening a package ......................................................................................................... 93

8 DOCU GENERATOR ................................................................................................................... 94

8.1 Launch Docu Generator and Start Recording ............................................................................ 94

8.2 Control Recording ...................................................................................................................... 94

8.3 Take Screenshots ....................................................................................................................... 95

8.3.1 Window/Smart area screenshot ........................................................................................ 95

8.3.2 Custom area screenshot ..................................................................................................... 95

8.4 Manage Screenshots .................................................................................................................. 95

8.5 Add Annotations ........................................................................................................................ 95

8.6 Save results ................................................................................................................................ 96

8.7 Use Document Templates .......................................................................................................... 97

9 QUALITY ASSURANCE WITH PACE SUITE ................................................................................... 98

9.1 Validate against Windows Installer requirements .................................................................... 98

9.2 Verify against your packaging requirements ............................................................................. 99

9.3 Test package functionality ......................................................................................................... 99

9.3.1 Create a snapshot before installation .............................................................................. 100

9.3.2 Install and then uninstall the Application Package .......................................................... 101

9.3.3 Create a snapshot after uninstallation ............................................................................. 101

9.3.4 Compare Snapshots and review resource consistency .................................................... 101

9.4 Test application functionality .................................................................................................. 101

APPENDIXES ................................................................................................................................. 102

1. Appendix A. Sample applications for packaging ...................................................................... 102

Page 6: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 6 of 102

© 2014 Infopulse pacesuite.com

Introduction

This document is a step-by step guide that will help you to learn how to use Infopulse PACE Suite to perform

different tasks related to application packaging.

The program also covers the basics of Windows Installer technology.

Page 7: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 7 of 102

© 2014 Infopulse pacesuite.com

1 Windows Installer Overview

This chapter provides an introduction to Windows Installer, its framework and the background you need to get

started with Windows Installer.

1.1 Chapter Objectives

Define Windows Installer

Discuss why learning Windows Installer is important for you.

Explain how Windows Installer reduces total cost of ownership.

Identify benefits Windows Installer will have on your installation.

1.2 About Windows Installer

In order to create a streamlined process for installing and managing applications, Microsoft developed the

Windows Installer service. It consists of a set of guide lines, an Application Programming Interface (API) and a

runtime service to help make application installation and ongoing management part of the basic Windows

system services. The Windows Installer service is not an installation-authoring tool, but rather an installation

engine and rule set for installation packages.

The Windows Installer engine resides on the destination computer as part of the operating system. The

executable – msiexec.exe – reads the installation database (.MSI) and performs the installation and also

performs any subsequent management, such as self-repair, that becomes necessary.

Instead of an installation executable (such as setup.exe), your installation is in the form of a database file, of

type .MSI, which contains instructions and can also enclose installation files. Because this database uses highly

structured, uniform data tables, there is 100% accountability of where each file is installed and through a log of

which files belong to which applications. Because of this, individual files can readily be restored to repair

damaged applications.

Each table is dedicated to a particular type of installation information such as Class, Components, Features,

Files, Execution Sequence and Registry. Certain logic is built into the Windows Installer engine, such as when to

prompt for a reboot, disk space checking and file version replacement rules. When an .MSI is opened,

msiexec.exe reads the data stored in the database and builds an internal script to follow. It then performs the

actions in the script to complete the installation. If the installation fails, Windows Installer contains functionality

to roll back the machine to its previous state.

1.3 Comparing Installation Technologies

Prior to the introduction of Windows Installer, every software application had its own setup executable file

(usually setup.exe or install.exe). Although many software manufacturers used common installation tools many

others resorted to highly proprietary installation technologies. Not only did this make the user’s experience

inconsistent from one installation to the next, but the operating system had to contend with redundant code in

the various applications. Because of this lack of uniformity, there was no way to administer the applications

after they were installed; except to rerun the whole setup program.

Page 8: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 8 of 102

© 2014 Infopulse pacesuite.com

Windows Installer solves this problem by implementing a single built-in execution engine. When this engine is

installed on a system, the role of the installation executable is replaced by a database file that contains all of the

program files and setup instructions. The database stores the information for the application, and can readily

access this information if the application requires rollback, self-repair or other maintenance.

1.4 Obtaining .MSI files

Many installations you receive contain .MSI files. These can come from different sources.

Vendor supplied – a company or individual outside your organization might provide you with a complete

.MSI installation. You can customize, run, or deploy the .MSI installation to users based on your

organization’s needs.

Author – if you are a developer, you might create an .MSI installation to meet your organization’s needs.

Repackage – an application might be repackaged into an .MSI installation. As a system administrator,

you can convert the .MSI application to another format.

1.5 Advantages of Windows Installer

There are many advantages to using Windows Installer. These advantages result in a solid, more robust

installation that can reduce the total cost of ownership (TOC) for your organization. A major advantage of using

Windows Installer to create or deploy software is that it enables compliance with the Windows logo program.

Because Windows Installer is part of the operating system, it provides features not available in traditional

software distribution technologies.

Advertisement – also called install-on-demand. Windows Installer gives you the ability to set features

to be advertised. Advertised features are not actually installed, but they appear installed to the user.

When the user invokes an advertised feature, installation of the feature occurs.

Componentization – Windows Installer gives you the ability to divide your installation into smaller,

more manageable parts. These parts are called components. Components give you more control over

application resources during installation setup and runtime. Windows Installer uses components for

repair

Standardization – Windows Installer has global rules it applies to every file installed with an application.

These rules look at a file’s version and its shared DLLs to prevent conflicts between applications

Version Rules –Windows Installer uses version rules to decide whether to install a file to a directory or

not. The rules look at the file’s date, language and whether the file is versioned, the modified date on a

non-versioned file, and the highest version of the file

Reference counting – To track DLLs shared among components, (from different installations) Windows

Installer uses reference counters. The reference count occurs both at the component level and in the

registry for the component’s key file. At the registry level, Windows Installer counts the number of times

a DLL is installed or removed.

Customization – You can customize installations to users’ needs by creating transforms. Transforms

apply changes to a Windows Installer installation in order to tailor the installed application to the needs

of a particular group of users.

Assignment – you can use the user’s profile to place applications either advertised or installed on the

destination machine. An administrator sets applications in a user’s profile and when the user logs in to

the destination machine, the designated applications are placed on the machine. With assignment, the

users have no control over the applications they receive. You must have Active Directory or another

Page 9: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 9 of 102

© 2014 Infopulse pacesuite.com

distribution tool for this to work. It also works in a locked down environment by using elevated

privileges.

Publishing – As an administrator, you can publish applications to the Programs and Features applet

(Add/Remove Programs). The advertising attributes for the applications in Programs and Features are

stored in Active Directory and are not placed on a user’s machine unless the user installs the application.

Publishing lets the user decide whether to install the published applications.

Open Architecture – Windows Installer’s open architecture gives you the ability to create custom

solutions that add value to your projects. The architecture contains a standard, consistent set of

guidelines that provide integrity for every installation and allow you to choose best of breed authoring

software.

Total Cost of Ownership – Windows Installer makes installations easier to install, maintain and support

for your customers. This reduces the time you spend assisting the customer, and reduces the time they

need to spend troubleshooting the application installation.

Rollback – Windows Installer installations are transactional. Because each process is a transaction, when

one of the processes in the installation fails, Windows Installer reverts to the installation’s previously

installed state. Rollback prevents you from having an incomplete or broken application.

Dynamic Source List – A source list provides source resiliency for features that are installed-on-demand.

The list contains all of the locations in which Windows Installer searches for an application’s source files.

Windows Installer adds the most recently used directory to the source list, then goes to that source first

the next time it needs to install files. Windows Installer updates the list automatically whenever features

are added to an installation.

Self-healing – also called automatic repair, is the ability of the application to repair missing components

such as files or registry entries. When you start an application, Windows Installer checks a list of key

paths. If any broken key paths – e.g. missing files or registry entries – are found, Windows Installer

repairs the application.

Group Policy and Security – Windows Installer sets privileges for the installation and the user. Elevated

privileges control the user and application rights, and provide a more secure environment. Because of

elevated privileges, the application can have more privileges than a user during an installation.

User Policy – The policies that you set define the type of privileges that a user has.

System Policy – The policies you set on a per machine basis define the types of privileges that the

machine has. This gives you the ability to run an entire installation in elevated privileges and define only

those rights users have while an installation runs.

Page 10: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 10 of 102

© 2014 Infopulse pacesuite.com

1.6 How does self-repair work?

1.7 About Logo Certification

Logo certification is what your organization earns when your application and installation comply with the

rigorous Microsoft Application Specification for Windows. Passing these specifications qualifies your

organization to license and use the Certified for Microsoft Windows logo. Logo certification increases your

confidence with your application and installation, and gives your customers confidence in the application and

installation. Microsoft offers logo certification to establish a consistent set of standards for installations. This

helps developers and customers alike know an application and installation work reliably and are manageable.

Whether you choose to use the logo or not, we recommend applying the Application Specifications for Windows

standards to your application and installation. Testing enables you to identify and troubleshoot issues in the

application and installation before they are deployed. Deploying or distributing a thoroughly tested application

and installation means fewer help desk calls and less time spent troubleshooting issues when someone is trying

to use the application or installation.

You can run the Application Specification test yourself to ensure the application and installation meet the

validations. While this is useful, Microsoft requires more extensive testing for your application and installation

Are any key paths in the entry point

feature or its parents missing or

corrupted?

Windows Installer checks all key paths in entire

application

The original entry point feature with broken key path get a feature-level repair (entire feature is reinstalled not just the broken component)

If broken key paths are found elsewhere in the

installation, each component with a

broken key path gets a component-level repair

(component only is repaired)

Entry point is invoked. Entry points are tied to key

paths. For instance, a shortcut might be tied to an

.EXE, which is a key path.

Windows Installer checks all the key paths in the

components under the entry point feature, as well as

components in the feature’s parent and all the way to

the top feature

Application opens

Application opens

Page 11: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 11 of 102

© 2014 Infopulse pacesuite.com

before your organization can use the Windows logo. They require that VeriTest, an independent testing

organization, test your application and installation for compliance against all Microsoft application standards.

Foremost VeriTest’s testing is to ensure your application and installation install successfully and without errors

on all Windows operating systems and Windows .NET Server 2003. Validating your application and installation

with the Application Specification for Windows XP test means verifying your application and installation have

the appropriate security, are properly configured and function properly from installation through uninstall.

There are numerous validations applications and installations must pass to meet the Application Specification

standards. Some of the most common and important validations are listed below. To learn about these

validations, see Windows Installer and Logo Requirements in the Window Installer SDK Help

Your installation is resilient and has the ability to be both functional and stable across multiple Windows

operating systems.

Your installation supports long file names and UNC paths.

Your installation automatically adds entries to the registry and can read and write information from

here. Put any information you do not want in the registry in a private .ini file in the same directory as

the application’s executable (.exe) files.

Your installation contains version checking for Windows operating systems.

Your installation passes validation using the Darice.cub and Logo.cub files. All of the Internal Consistency

Evaluators (ICEs) in Logo.cub are included in the Darice.cub file. If your package passes validation using

Darice.cub it will pass with Logo.cub

You have correctly set up and defined components in your installation.

Your installation contains the ability to track shared components and to reference count shared DLLs.

Your installation installs to the Program Files folder by default or lets the user select where to install the

application.

Your installation contains uninstall files that allow a user to remove the installation using the Programs

and Features applet.

Your installation contains and supports advertising.

Your installation has the ability to install, uninstall and self-repair.

Your installation can isolate components.

Your installation follows Windows Installer security standards and can stop installation gracefully it the

user is denied access to install the application. For instance, the installation removes any installed files

when it stops the installation process.

Your installation contains the components it needs to upgrade to the next Windows operating system

version.

1.8 About the Windows Installer service

The Windows Installer service is an installation engine and rule set for installation packages. The service works

on all machines standardizing how software applications are installed and configured. In addition, the service

modifies, upgrades, repairs and removes installations. It performs these tasks through the msiexec.exe

component.

Msiexec.exe is one of the primary Windows Installer components and is the Windows Installer executable and

service. It controls how and when resources are installed and uninstalled. The msiexec.exe component is the

Windows Installer runtime and is the engine that executes the actions necessary to install an application. This

component resides locally on the end user’s machine.

Page 12: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 12 of 102

© 2014 Infopulse pacesuite.com

The main functions of the Windows Installer service are to manage the application installation, create a

standard setup format, and use APIs so applications can manage themselves. Because Windows Installer

performs or monitors every step of a Windows Installer installation from start to finish, it can be described as an

installation agent. For example, suppose you are creating a Windows Installer installation. To adhere to

Windows Installer rules, you must add features and components to your installation and give your product a

globally unique identifier (GUID). Once your installation is complete, you run it. The Windows Installer service

executes this process with msiexec.exe. During the installation, the Windows Installer service communicates

with the database executing sequences in the order provided in the databas3e.After the sequences are finished,

Windows Installer generates a script file which contains detailed instructions for performing the installation.

Next, the Windows Installer service passes the information it needs to the appropriate process that contains

privileges to run the script. The script runs, installing the application. As this occurs, Windows Installer saves a

copy of every file and creates a rollback script in case the application cannot complete the installation. If the

application successfully installs, Windows Installer completes its service by removing the saved backup files and

the rollback script.

1.9 Installing the service

You don’t need to install Windows Installer on your computer; it is a part of the operating system if you are

running Windows XP, Windows Vista or Windows 7. To see which version was shipped with your operating

system see Released Versions of Windows Installer (http://msdn.microsoft.com/en-

us/library/windows/desktop/aa371185(v=vs.85).aspx)

You can update Windows Installer if you down load a Windows Installer redistributable. The Windows Installer

redistributable is a software update package and is made available after the release of the product that ships

with a specific Windows Installer version.

You can obtain Windows Installer 5.0 from Windows SDK for Windows 7

(http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18950)

To determine the Windows Installer version installed on your system, call MsiGetFileVersion and set the

szFilePath parameter to MSI.dll. Other options include having an application get the version using DIIGetVersion

or calling the Version property (Installer Object), which generates the version number. In addition to the

Windows Installer version, you can determine the version of msiexec.exe by running msiexec; the version is

listed at the top in the dialog.

1.10 Advertising

Advertising, which is a way to deploy applications in large organizations, is available with windows Installer, but

only supported platforms. You can set features or entire applications to be advertised. If a feature or application

is advertised, only the entry points of the feature or application are installed. For instance, if the application

Microsoft Word is advertised to users’ computers, but not installed, the users still see the Microsoft Word icons

in the start menu and the file extension .doc is registered in the registry, but none of the files that make up

Microsoft Word are actually installed.

Entry points for advertising include:

Shortcuts and their icons

Extensions and their icons

Registered shell and command verbs

Creating COM objects

Page 13: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 13 of 102

© 2014 Infopulse pacesuite.com

MIME support

Entry points to an installed application or feature are either visible or not visible to the user depending on what

type of advertising you specify. Assigning, a type of advertising, makes the application appear installed to the

user, because all available entry points are installed. Publishing, another type of advertising, does not populate

the user interface. Users invoke advertised items by launching a shortcut, opening a file with an advertised file

extension, or by accessing one of the other entry points. When the user invokes the entry point, installation-on-

demand of the feature or application occurs. Installation-on-demand lets installation occur dynamically while an

application is running. With previous installation technologies, if a user did not install all features of an

application during the initial installation, the user had to re-run the setup program later to access a feature not

installed initially.

You can advertise an entire application by running the installation in advertising mode. To do this, you run the

installation from the command line with the /j option. When you run an installation in this mode, all elements of

the installation that support advertising, such as shortcuts, file extensions and more, are installed as advertised.

Then, when the user invokes the application from an advertised entry point, the application is installed. The /j

option overrides any advertising options you set for individual features within the application. Following is an

example of a command line statement that runs an MSI in advertising mode (/j) for the current user (u) in quiet

mode (/q)

msiexec /ju “c:\directory\myApp.msi” /q

Advertising uses two primary means of appearing installed to a user: Windows Installer shortcuts and lnk

shortcuts. Windows Installer shortcuts are entry points to an installation and can display as icons or abbreviated

paths. They enable a user to have quick access to an installation or particular feature in an installation. By

default, Windows Installer shortcuts are advertised. In Windows Installer shortcuts, the target field is disabled. A

lnk shortcut creates a non-advertised shortcut unless the interface, IShellLink, supports Windows Installer

Descriptors.

1.11 Overview of Windows Installer

Windows Installer reduces the total cost of ownership (TCO) for your customers by enabling them to efficiently

install and configure your products and applications. The installer can also provide your product with new

capabilities to advertise features without installing them, to install products on demand, and to add user

customizations.

The following sections provide a high-level overview of the installer:

Installation Package

Components and Features

Installation Mechanism

Component Management

Advertisement

Installation-on-demand

Resiliency

Customization

Note This section is based on information from:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa370566(v=vs.85).aspx

Page 14: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 14 of 102

© 2014 Infopulse pacesuite.com

1.11.1 Installation Package

An installation package contains all of the information that the Windows Installer requires to install or uninstall

an application or product and to run the setup user interface. Each installation package includes an .msi file,

containing an installation database, a summary information stream, and data streams for various parts of the

installation. The .msi file can also contain one or more transforms, internal source files, and external source files

or cabinet files required by the installation.

Application developers must author an installation to use the installer. Because the installer organizes

installations around the concept of components and features, and stores all information about the installation in

a relational database, the process of authoring an installation package broadly entails the following steps:

Identify the features to be presented to users.

Organize the application into components.

Populate the installation database with information.

Validate the installation package.

The next section discusses installer components and features. For more information, see Components and

Features. The choice of features is commonly determined by the application's functionality from the user's

perspective.

It is recommended that developers use a standard procedure for choosing components. For more information,

see Organizing Applications into Components.

Package authors can use third-party package creation tools, or a table editor and the Windows Installer SDK, to

populate the installation database. All installation packages need to be validated for internal consistency. For

more information, see Package Validation.

1.11.2 Components and Features

The Windows Installer organizes an installation around the concepts of components and features.

A feature is a part of the application's total functionality that a user may decide to install independently. For

more information, see Windows Installer Features.

A component is a piece of the application or product to be installed. The installer always installs or removes a

component from a user's computer as a coherent piece. Components are usually hidden from the user. When a

user selects a feature for installation, the installer determines which components must be installed to provide

that feature. For more information, see Windows Installer Components.

Authors of installation packages need to decide how to divide their application into features and components.

The selection of features is primarily determined by the application's functionality from the user's perspective.

Because components commonly must be shared across applications, or even across products, it is

recommended that authors follow a standard method for selecting components. For more information, see

Organizing Applications into Components.

Page 15: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 15 of 102

© 2014 Infopulse pacesuite.com

1.11.3 Installation Mechanism

There are two phases to a successful installation process: acquisition and execution. If the installation is

unsuccessful, a rollback phase may occur.

Acquisition

At the beginning of the acquisition phase, an application or a user instructs the installer to install a feature or an

application. The installer then progresses through the actions specified in the sequence tables of the installation

database. These actions query the installation database and generate a script that gives a step-by-step

procedure for performing the installation.

Execution

During the execution phase, the installer passes the information to a process with elevated privileges and runs

the script.

Rollback

If an installation is unsuccessful, the installer restores the original state of the computer. When the installer

processes the installation script it simultaneously generates a rollback script. In addition to the rollback script,

the installer saves a copy of every file it deletes during the installation. These files are kept in a hidden, system

directory. Once the installation is complete, the rollback script and the saved files are deleted. For more

information, see Rollback Installation.

Page 16: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 16 of 102

© 2014 Infopulse pacesuite.com

1.11.4 Component Management

The Windows Installer reduces the total cost of ownership (TCO) of your applications by increasing the ability of

your customers to manage and maintain application components during setup and run time. The installation

database tracks which applications require a particular component, which files comprise each component,

where each file is installed on the system, and where component sources are located. This allows developers to

author packages that provide the following benefits:

Increased resiliency of applications. Use the installer to detect and reinstall damaged components

without having to rerun setup. The installer checks the path of a component at run time. This frees

applications from dependency on static file paths which commonly differ between computers and can

point to missing components. For more information, see Resiliency.

Installation-On-Demand. This feature set is not installed during setup but is specified in the database to

be installed just-in-time for use if required by the application in the future. Users do not need to rerun

setup. For more information, see Installation-On-Demand.

Advertisement of shortcuts to features, applications, or entire products in the user interface. Users can

install these on-demand by using the shortcuts. Users can also remove features, applications, or entire

products on-demand. For more information, see Advertisement.

Installation customization. An administrator can apply transforms to the database that tailor the

installation for a particular group of users. For more information, see Customization.

Easier deployment of application updates. Use the installer to update your products.

Feature shortcut display. The installer displays shortcuts to features that run locally with shortcuts to

features that run remotely. Because the installation database specifies the run context of each feature,

visibly equivalent entry points can be presented to users as needed.

Keep usage metrics on features. Developers can provide an installation package that keeps usage count

of a feature by all client applications and removes components that are not being used.

Incorporate installations. Developers can incorporate the component management capabilities of the

installer into their applications by authoring an installation package and by using the Installer Functions

in their application code. The following figure illustrates an application requesting the installation of a

feature.

Page 17: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 17 of 102

© 2014 Infopulse pacesuite.com

Page 18: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 18 of 102

© 2014 Infopulse pacesuite.com

1.11.5 Advertisement

The Windows Installer can advertise the availability of an application to users or other applications without

actually installing the application. If an application is advertised, only the interfaces required for loading and

launching the application are presented to the user or other applications. If a user or application activates an

advertised interface the installer then proceeds to install the necessary components as described in Installation-

On-Demand.

The two types of advertising are assigning and publishing. An application appears installed to a user when that

application is assigned to the user. The Start menu contains the appropriate shortcuts, icons are displayed, files

are associated with the application, and registry entries reflect the application's installation. When the user tries

to open an assigned application it is installed upon demand.

The installer supports the advertisement of applications and features according to the operating system. The

installer registers COM class information for assigned applications beginning with the Windows 2000 and

Windows XP systems. This enables the installer to install the application upon the creation of an instance of an

advertised class. For more information, see Platform Support of Advertisement.

You can publish an application from the server beginning with the Windows 2000 Server. The published

application is then installed through its file association or Multipurpose Internet Mail Extension (MIME) type.

Publishing does not populate the user interface with any of the application's icons. The client operating system

can install a published application beginning with the Windows 2000 and Windows XP systems.

Platform Support of Advertisement

The Windows Installer supports advertisement of applications and features. The following advertisement

capabilities are available on Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista,

Windows Server 2003, Windows XP, and Windows 2000.

Shortcuts and their icons.

The Windows Installer supports advertisement of applications and features.

Extensions and their icons specified in the ProgId Table.

Shell and command Verbs registered underneath the ProgId key.

CLSID contexts and InProcHandler.

Install-On-Demand through OLE is only available programmatically through CoCreateInstance (C/C++),

and CreateObject Function (Visual Basic) or GetObject Function (Visual Basic).

Note AppId and Typelib information is only written when an advertised component is installed.

To support file name extensions, the application must be published to Active Directory by an administrator using

Group Policy.

Remarks

The installation of the product may not require a restart, but any advertised shortcuts do not work until the

machine is restarted. The advertised shortcuts of subsequent installations work without a restart. To ensure

that advertised shortcuts work correctly, the package author should schedule a forced restart at the end of the

installation. To avoid unnecessary restarts of the system, schedule a restart to run only if no version of the

Windows Installer is installed.

Conditional statements can check the ShellAdvtSupport property and Version9X property.

Page 19: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 19 of 102

© 2014 Infopulse pacesuite.com

1.11.6 Installation-On-Demand

With traditional installation technology, it is necessary to exit an application and rerun setup to perform an

installation task. This commonly occurred when a user wanted a feature or product not chosen during the first

run of setup. This often made the process of product configuration inefficient because it required the user to

anticipate the functionality required before they ever used the product.

Installation-on-demand makes it possible to offer functionality to users and applications in the absence of the

files themselves. This notion is known as advertisement. The Windows Installer has the capability of advertising

functionality and to make installation-on-demand of application features or entire products possible. When a

user or application activates an advertised feature or product, the installer proceeds with installation of the

needed components. This shortens the configuration process because additional functionality can be accessed

without having to exit and rerun another setup procedure.

When a product uses the installer, a user can choose at setup time which features or applications to install and

which to advertise. Then if while running an application the user requests an advertised feature that has not yet

been installed, the application calls the installer to enact a just-in-time feature level installation of the necessary

files. If the user activates an advertised product that has not yet been installed, the operating system calls the

installer to enact a just-in-time product level installation.

Advertisement and Installation-On-Demand can also facilitate system management by enabling administrators

to designate applications as required or optional for different groups of users. There are two types of advertising

known as "assigning" and "publishing." If an administrator assigns an application to a group, then these users

can install the application on-demand. If, however, the administrator publishes the application to the group, no

entry points appear to these users and installation-on-demand is only activated if another application activates

the published application.

1.11.7 Resiliency

Resiliency is the ability of an application to recover gracefully from situations in which a vital component is

missing, or has been replaced by an incompatible version. By authoring an installation package and using the

Installer Functions, developers can use the Windows Installer to produce resilient applications capable of

recovering from such situations.

Use the installer's source list to increase the resiliency of applications that rely on network resources.

Use the installer's API to check whether a vital feature, component, file, or file version is installed.

Use the installer's API to check the path to a component at run time. This reduces your application's

dependency on static file paths, which commonly differ between computers.

Use the installer to reinstall damaged shortcuts, registry entries, and other components without having

to rerun setup.

Increase the resiliency of your product's installation by leaving the rollback capability of the installer

enabled.

1.11.8 Customization

Because the Windows Installer keeps all information about the installation in a relational database, the

installation of an application or product can be customized for particular user groups by applying transform

operations to the package. Transforms can be used to encapsulate the various customizations of a base package

required by different workgroups.

Multiple transforms of a base package can be applied on-the-fly during installation. This provides a mechanism

for efficiently assigning customized installations to different groups of users. For example, this would be useful

Page 20: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 20 of 102

© 2014 Infopulse pacesuite.com

in organizations where the finance and staff support departments require different installations of a particular

product. The product can be made available to everyone in the organization by an administrative installation of

the base package to a single administrative installation point. Each work group can then automatically receive

their appropriate customization by means of an on-the-fly transform when they install the product.

Page 21: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 21 of 102

© 2014 Infopulse pacesuite.com

2 Application Packaging Approaches

Application packaging approach is the way a source software installation is utilized to create a deployment-

ready application package. Depending on a packaging approach the type of an output package differs.

This section will help to understand the approaches and learn how to choose the best one.

The most typical application packaging approaches are the following:

MSI repackaging

Creating a transform for a vendor’s MSI

Legacy setup wrapping

Virtualization

Selection of an approach depends on different factors. Some of them are:

Type of a source installer

Complexity of an application

Any limitations caused by specific requirements

2.1 MSI repackaging

MSI repackaging means that the changes made by a source installation in a system (usually, file system and

registry) are captured and put into a newly created MSI package.

This approach guarantees fully controllable installation (no “black boxes” inside) and allows producing packages

in a highly standardized manner.

However, MSI repackaging is not recommended (and sometimes not possible) in the following conditions:

Source installation is already an MSI or contains an MSI embedded. If repackaged, a support from

application vendor or package functionality may be affected or lost. For such a situation, the

recommended approach is creating a transform.

A source installation has complicated logic. This usually implies different results of an installation on

different machines depending on conditions that cannot be fully modeled in packaging environment.

Example: machine-based licensing – an installation creates binary data that depends on specific

machine’s parameters. For such a situation, the recommended approach is legacy setup wrapping.

2.2 Vendor MSI transforming

If a source installation is already in MSI format (or contains MSI package(s) embedded) then the best option is to

try re-using it. An MSI transform should be used to adjust it to the requirements.

2.3 Legacy setup wrapping

Legacy setup wrapping means re-using the vendor’s installation mechanism just making it installable in a target

environment by means of scripting.

Complexity and specifics of legacy setup wrapping are much dependent on deployment systems and target

environment.

2.4 Virtualization

Packaging limitations and issues such as application conflicts can be eliminated with Application Virtualization

and virtualized deployment is the best choice for some applications.

Page 22: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 22 of 102

© 2014 Infopulse pacesuite.com

3 PACE Suite Overview

This chapter gives a quick view over the components of PACE Suite and their features.

When you install PACE Suite, you’ll find four shortcuts, each representing a component of the suite.

Tool Features

Repackage any installation into an MSI or App-V package, or

transform an existent MSI.

Create and compare snapshots of system state (file system, registry

and permissions).

Edit an MSI or MST via rich interface or a table editor

Create App-V package from scratch for an application’s installer

Build an App-V package from MSI Generator project

Directly edit any App-V package (open sft or osd file)

Automatically record a consequence of actions into a document with

screenshots and annotations.

3.1 MSI Generator

MSI Generator allows to:

Repackage any installation into an MSI or App-V package, or transform an existent MSI file.

Create blank project, design a package from scratch, and build it into an MSI, MST or App-V file.

Create and compare snapshots of system state (file system, registry and permissions).

Page 23: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 23 of 102

© 2014 Infopulse pacesuite.com

3.1.1 Home screen

Create Package – a starting point to create a new package, whether it will be repackaging, App-V, or

MST.

Open Project – open a previously created MSI Generator project for editing and build a package from it

Create Snapshot – crate a snapshot of current system state

Compare Snapshots – choose and compare any two previously created system snapshots. A result will

be fed into a new project and can be built into a package, or exported.

3.1.2 Project editing screen

Page 24: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 24 of 102

© 2014 Infopulse pacesuite.com

When you’ve captured a new installation, or opened an existing project, the project editing screen will be

shown. Split into tabs, it allows managing all the options and contents of an output package.

Note. By doing any manipulations in MSI Generator, you actually edit the project, which is built into a package

(MSI or App-V) afterwards. When you need to edit a package directly, MSI Editor and App-V Generator come

into help accordingly.

Package type switch allows easily changing output type and re-building a package again:

3.2 MSI Editor

MSI Editor allows doing any manipulations with an MSI or MST, created with MSI Generator, or a third party

tool. Similarly to MSI Generator, it has tabs for different types of resources and setting, but in this case you edit

MSI or MST files directly.

3.3 App-V Generator

App-V Generator enables:

Creation of App-V package from scratch for an application’s installer

Building an App-V package from MSI Generator project

Editing any App-V package (sft or osd file)

Note. App-V Generator currently supports only App-V version 4.6.

Page 25: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 25 of 102

© 2014 Infopulse pacesuite.com

3.4 Docu Generator

Docu Generator is a small tool which helps to easily record on-screen actions into a document, with screenshots,

highlights, and annotations. This is especially useful when you need to document installation steps of an

application. Output can be saved as an htm or doc file of a custom template.

Page 26: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 26 of 102

© 2014 Infopulse pacesuite.com

4 The installing and configuring PACE Suite

4.1 System Requirements

Processor 32-bit (x86) or 64-bit (x64) processor at 2 GHz or greater

Note To repackage 64-bit applications or create 64-bit App-V packages,

use PACE Suite on a 64-bit Windows operating system.

RAM 2 GB

Hard Disk 100 MB.

Note Additional storage is required for your projects and packages and

depends on their size and quantity.

Display 1024 x 768 resolution or higher

Operating System Windows 8.1, Windows 8, Windows 7, Windows XP SP3, Windows Server

2012, Windows Server 2008, Windows Server 2003

Privileges Administrative privileges on the system

4.2 Prerequisites

Microsoft .NET Framework 4.0 or 4.5 (Included by default in latest

version of Windows)

Microsoft App-V 5.0 Sequencer (is required for App-V 5.0 functionality

only).

4.3 Installation

PACE Suite or any of its components can be installed on a computer, though this is not required. Each

component can be launched as a portable application from any folder. This allows you to bring PACE Suite to

your customer on a USB stick and package an application onsite, or run it on multiple VMs from a single network

location.

Still, if you install PACE Suite or any of its components, you’ll have it integrated into context menu of Windows

Explorer.

To enable both options, PACE Suite and each its separate component is provided in two types of distributive: ZIP

and MSI.

4.3.1 Using portable distributive (ZIP)

To use PACE Suite as a portable app, unzip its ZIP distributive into any folder and launch an exe which

correspond to the tool name:

Page 27: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 27 of 102

© 2014 Infopulse pacesuite.com

4.3.2 Using installer (MSI)

To install PACE Suite, launch the MSI distributive, and follow the instructions on the dialogs.

Page 28: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 28 of 102

© 2014 Infopulse pacesuite.com

Page 29: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 29 of 102

© 2014 Infopulse pacesuite.com

Choose “Enter product key”, if you have one, or choose “Evaluate” otherwise.

Page 30: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 30 of 102

© 2014 Infopulse pacesuite.com

4.4 Configuring MSI Generator

This section describes how MSI Generator can be customized by means of:

MSI Profiles – sets of settings and rules that are applied to output MSI packages.

Page 31: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 31 of 102

© 2014 Infopulse pacesuite.com

Resource Filters – configurable rules differentiating application-related resources from system related

ones.

Settings of MSI Generator.

4.4.1 MSI Profiles

An MSI Profile is a set of Windows Installer specific settings and rules to be applied to an output MSI package or

transform. This includes (but not limited to):

Which MSI tables are used to handle specific types of resources (COM info, services, assemblies etc.)

Required properties, summary info details

How permissions and per-user setting are handled

MSI Profiles are useful to group settings and rules related to a specific client, platform or type of packages and

easily switch those settings.

For a specific package, an MSI Profile can be selected on the Package tab in the Project Editing window. Note

that you can change an MSI Profile and re-build your package at any time.

Managing MSI Profiles

To manage MSI Profiles, go to Settings

General tab.

Profiles Folder – a directory where MSI

Profiles are located (For example, you

can point it to a network-shared pool of

MSI profiles).

Default Option – MSI Profile to be used

by default for new projects.

MSI Creation Options – list of profiles.

You can add new, copy, edit and delete

profiles.

MSI Profile Settings

To edit settings of an MSI Profile, select its name in the list, and click the Edit button.

An MSI profile settings are mainly related to Windows Installer technology peculiarities. For more information

about any specific setting, please refer to Windows Installer in MSDN (http://msdn.microsoft.com/en-us/library/windows/desktop/cc185688(v=vs.85).aspx).

Page 32: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 32 of 102

© 2014 Infopulse pacesuite.com

General

Basic MSI Template –MSI file used as a template to generate an output package;

MSI Compression – type of MSI files compression:

Uncompressed – package files are located in a source tree located next to the MSI file;

Compressed in Cab – package files are compressed into external CAB located next to the MSI file;

Compressed in MSI – package files are compressed into CAB placed inside the MSI. An output package

will consist of a single MSI file.

Fill in MsiFileHash table – if enabled, MSI Generator will populate the MsiFileHash table with file hash vales.

Otherwise this table will be left empty.

Check for .Net and WinSxS Assemblies - if enabled, MSI Generator will scan binary files to detect whether

assembly information is contained. Found assemblies will be handled using special MSI tables in the output

package.

Page 33: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 33 of 102

© 2014 Infopulse pacesuite.com

Summary Info

This tab enables you to set the information which is recorded to the package Summary Information Stream.

Registry

Use MSI Advertising Tables – select tables to be used in an output MSI package or transform. The tables listed

here are used to install specific kinds of information into registry (COM servers advertising, extensions handling).

If a table is checked, then a respective kind of information will be deployed using that table. Otherwise,

information will be installed via the Registry table.

Page 34: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 34 of 102

© 2014 Infopulse pacesuite.com

Shortcuts

Exclude Desktop/Quick Launch/Uninstall shortcuts – select whether a respective kind of shortcuts should be

excluded by default. Please note that matching shortcuts are just excluded (and can be included back on the

Shortcuts tab), not deleted completely.

Advertising Shortcuts – adjust whether shortcuts will be advertising (supporting Windows Installer Advertising,

Self-Healing and Installation-On-Demand):

All Shortcuts – all shortcuts are advertising;

Executables Only – only shortcuts launching executable files are advertising;

None – all shortcuts are regular (non-advertising).

Shortcuts Exclusions – Rules which matching shortcuts are detected based on – configurable using Regular

Expressions (http://msdn.microsoft.com/en-us/library/az24scfc.aspx).

Page 35: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 35 of 102

© 2014 Infopulse pacesuite.com

Properties

Use this tab to pre-define the list of MSI properties that will be added to an output MSI package or transform

(via Property table).

Per-User Data

User-Part Feature/Component Name – specify how a feature and components containing per-user resources

are to be named. Special naming of such features and components is useful when working with a package, and

often is required by clients.

Three other switches allow managing how user data and folders are handled.

Page 36: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 36 of 102

© 2014 Infopulse pacesuite.com

Merge Modules

Scan project file for Merge Modules defines whether resources of a package are looked up in a merge module

pool. Matching resources will be prompted to be replaced with corresponding merge modules

Merge module pools defines the folders merge modules to be located in, if Scan project file for Merge Modules

is enabled. Multiple pools can be added.

Permissions

On this tab, you can define how permissions are set by an output package.

Page 37: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 37 of 102

© 2014 Infopulse pacesuite.com

Apply to MSI – select a permissions tool to be used to set the permissions on a target machine.

Currently, only SecEdit is supported (See Microsoft’s TechNet

(http://technet.microsoft.com/en-us/library/bb490997.aspx) for details about this

tool);

Don’t apply – permissions are not applied in a package.

Custom Action Name – specify how permissions Custom Action should be named;

Custom Action position – select a position in the InstallExecuteSequence table for permissions Custom

Action. Default is recommended;

Profile Name – specify a name for SecEdit INF security template file;

Component name – specify a component name, which will contain SecEditI INF security template file.

Transforms

Use this tab to set the options for transform creation.

Updates Included in Transform - Please see the “Build the Package” section of this document for

description of these values. The defaults are specified here, but they can be overridden for any package.

Feature for new components – specifies whether a newly created components in transform added to

existing features, or new features are created for those.

4.4.2 Resource Filters

With Resource Filters, you can adjust MSI Generator to produce accurate packages on your custom virtual

machines without extraneous resources included.

Resource Filter is a set of rules used by MSI Generator to determine resources to be included (application-

related) and excluded (system and other applications related) from a project. Multiple Resource Filters can be

defined and dynamically enabled and disabled for each package.

Page 38: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 38 of 102

© 2014 Infopulse pacesuite.com

Managing Resource Filters

To manage Resource Filters, go to Settings Exclusion Files tab.

Filters Folder – a directory where Resource Filters are located (For example, you can point it to a network-

shared pool of Resource Filters used by your team);

Use the Add, Edit, Rename and Delete buttons to manage Resource Filters.

Editing a Resource Filter

To edit a Resource Filter, click the Edit button in the Resource filters list.

Rules for each type of resources are defined by means of Regular Expressions

(http://msdn.microsoft.com/en-us/library/az24scfc.aspx. Use the Add, Edit, Delete buttons to

manage rules, the Test button to test any string against a selected rule or the whole set of rules.

Page 39: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 39 of 102

© 2014 Infopulse pacesuite.com

Another way to add exclusion into a resource filter is using the Always Exclude action when editing a project.

When clicked, you will be asked to select a resource filter to add the exclusion to.

4.4.3 Settings

To access MSI Generator Settings, click the Settings button or select the Options menu item.

Packages folder

Packages Folder – A folder to save all projects to;

Page 40: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 40 of 102

© 2014 Infopulse pacesuite.com

Snapshot settings

Snapshot file path – a folder where system snapshots are stored;

Max Size of Parsed INI File – a maximum size of file, which MSI Generator will try to parse as INI file;

Max Length of Parsed Registry Value – a maximum length of registry strings, which will be stored in snapshots.

Strings that are longer than the specified value will be re-read from system during snapshot comparison.

Ini Files Parsing Settings… – Regular Expression-based rules of INI file detection and its contents parsing. With

this setting, you can, for example, add a new file extension to be recognized as INI file or add a new character as

a comment indicator.

Hard Codes and Application Settings… – Regular Expression-based rules of detecting hard coded values and

application settings (which are replaced with properties by MSI Generator).

Page 41: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 41 of 102

© 2014 Infopulse pacesuite.com

5 MSI Generator

With MSI Generator, you can create an application package on any machine with a full control over the

packaging process. You can capture the installation or create a project once and build multiple output packages

later.

MSI Generator helps you to decide on a packaging approach by automatically detecting embedded MSI products

in a source installation.

This section will guide you step by step through creating an application package with MSI Generator.

5.1 Creating a new Project

5.1.1 Repackaging or Tailoring (creating a Response Transform)

5.1.2 Preparation

1. Start a VM on a clean snapshot. Additionally, it is recommended to close or pause all non-essential

programs and services;

2. Make sure the source application installation is available. It is recommended to copy it to the VM locally;

3. Review packaging document and familiarize yourself with the installation to eliminate inclusion of

wrong actions into the package;

4. Run MSI Generator on VM and select Create Package on the Home screen.

5.1.3 Choose a repackaging method

On the right side of the New Project screen, select either Snapshots, or Monitoring.

Page 42: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 42 of 102

© 2014 Infopulse pacesuite.com

Snapshots – MSI Generator will create snapshots of the system before and after the installation, and your

package will be built based on difference between the snapshots. This method allows reboots during installation

of the software. This is a recommended method for the most of applications.

Monitoring – when this method is chosen, you are able to proceed to installing the application immediately,

and MSI Generator will monitor the process of installation to capture the resources into your package. This

method saves time, but does not allow reboots.

5.1.4 Create First Snapshot

Page 43: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 43 of 102

© 2014 Infopulse pacesuite.com

This step is relevant only if the Snapshots method was chosen. If Monitoring was chosen, you will be directed to

the next step.

MSI Generator will immediately start taking the first system snapshot. While snapshot is taken, you are able to:

customize the resource areas being scanned (and potentially included into a package) on-the-fly:

o Computer (select disk drives)

o Registry (select registry hives)

o Permissions (Access Control Lists of all file system objects and HKLM registry hive).

o Services

o Printers

To speed up snapshotting, it is recommended to uncheck the areas that you know are not supposed to be

altered by the installation or are not desired to be included into the package.

Specify the following options:

o Installation File – (optional) the file path of the installation;

o Launch installation automatically – if checked, MSI Generator will automatically run the

Installation File when the first snapshot is created;

o Package Name – Name of the package;

o Capture installation guide automatically – when checked, the installation and configuration

process will be automatically recorded into a step-by-step document as a series of screenshots

and annotations. This is useful if you have no Installation and Configuration instruction available

and need to document the installation process of the application you package. Docu Generator

must be available on your machine (in a folder next to MSI Generator folder) to use this feature.

5.1.5 Install and Configure your Application

Now launch the installation and apply all required software configuration, according to the Installation and

Configuration instruction (if available). The Installation can be launched right from the MSI Generator window

Page 44: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 44 of 102

© 2014 Infopulse pacesuite.com

with the RUN button, as well as launched manually or by any other means. It will be run automatically by MSI

Generator if Launch installation automatically was checked on previous screen.

Filters

The Resource Exclusion Filters tab enables selecting Resource Filters to be applied during package resources

determination. See the Installing and configuring PACE Suite section for more info about Resource Filters.

Detected MSI & log

MSI Generator monitors the system and detects any log files created and Windows Installer products installed

or unachieved by the installation. All this information is fed to the Detected MSI & log tab in real time. Log files

can be opened and reviewed by clicking their name.

Remember that it is not recommended to repackage vendor-provided MSI products (see the Application

Packaging Approaches section).Thus, if an MSI product has appeared on the Detected MSI & log tab, consider

creating an MST for it – see below for details.

5.1.6 Create Second Snapshot

When the software installation and configuration is complete, click the Start Second Snapshot button.

Page 45: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 45 of 102

© 2014 Infopulse pacesuite.com

This step is relevant only if the Snapshots method was chosen. If Monitoring was chosen, you will be directed to

the next step.

While MSI Generator creates a second snapshot, this screen allows you to choose the type of output package. If

an embedded MSI was found, you will be defaulted to MST. Furthermore, you are able to select the MSI Profile,

and transform mode (see below for more details).

When snapshot creation is finished, you’ll be forwarded to the Project Editing screen enabling you to manage

resources and options and build a package (See “Editing a Project” section below).

5.1.7 Starting from a Blank Project

Starting from a blank project is a good option if you know which files, registry and additional contents should be

included into the package, so that you can add them manually.

To do so:

Run MSI Generator and select Create Package on the Home screen.

On the New Project screen select Blank Project:

Page 46: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 46 of 102

© 2014 Infopulse pacesuite.com

In the next dialog enter a desired name of the new Project:

After this step you’ll be forwarded to the Project Editing screen enabling you to manage resources and options

and build a package (See “Editing a Project” section below).

5.2 Editing a Project

Page 47: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 47 of 102

© 2014 Infopulse pacesuite.com

Application information

Application information and package options are gathered on the Package tab

Application – general information about the application;

Summary info – the information that is in the MSI package Summary Information Stream.

Please see the Build the package section below for details about other options on this tab.

Page 48: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 48 of 102

© 2014 Infopulse pacesuite.com

Files and Registry

The Files and Registry tabs allow viewing and managing files, folders and registry entries of the package.

File and registry resources are classified by two criteria:

State – whether a resource was created, modified or removed during the installation.

Inclusion – whether a resource is identified as an application-related (and thus included into a package)

or as a third party/undesired one (and thus excluded), based on Resource Filters applied.

Included and excluded resources are always displayed side-by side

Count of files/registry by inclusion and state is shown in

the top panel

Views

You can toggle a style of how file and registry resources are displayed using the View switch:

Tree view. Start from this view to overview the resources by locations. It allows to exclude the

complete folders and registry keys that are obviously redundant in your package.

Tree & list. A combination of a tree navigation in the left and included/excluded resources in the right:

List view. Useful for bulk actions. Row filtering is enabled for this view (see below).

Page 49: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 49 of 102

© 2014 Infopulse pacesuite.com

Filtering

You can quickly filter all resources displayed by their state using global filter checkboxes:

Additionally, List view allows advanced filtering by any set of columns:

Actions

Use the Action buttons on the bottom panel or their hotkeys to perform the following actions with the selected

resources:

Exclude (Del) / Include (Ins) – toggle inclusion/exclusion of selected resource(s) in the package. You are

able to change it back any time later on;

Always Exclude – add exclusion of selected resource permanently. You’ll be asked to select Resource

Filter the exclusion to be added to;

Jump To (F4) – Jump to a respective folder in the file system or registry key in regedit;

Export (F2) – Export a selected file/folders or registry keys (as a REG file) to a location you specify;

Create Drive – (Files tab only) Add a new drive letter to install files to;

Create Folder (F7) – (Files tab only) Add a new folder to install files to;

Add Folder (F8) – (Files tab only) Import a folder tree to the package;

Add Files (F9) – (Files tab only) Import files to the package;

Import Registry (F8) – (Registry tab only) Import a REG file.

Actions are also available in pop-up menu of file/registry resources.

Page 50: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 50 of 102

© 2014 Infopulse pacesuite.com

GUID Lookup

The GUID Lookup feature allows viewing information about a Class of Interface selected among registry entries.

This may help to decide to include or exclude respective entries. Click the “+” button to show the GUID Lookup

panel.

Environment variables

Environment variables can be managed on the System Resources tab.

Services

On the System Resources tab, expand Services to review details of services installed or changed during the

installation.

Use a checkbox next to a service name to include or exclude it.

Page 51: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 51 of 102

© 2014 Infopulse pacesuite.com

Printers

Detected printers are displayed on the System Resources tab.

Use a checkbox next to device name to include or exclude it.

Permissions

MSI Generator captures any changes in Permissions (Access Control Lists) made by the installation enabling you

to make your package ready to work in a locked-down environment and reduce troubleshooting efforts.

Note. The following areas are being checked for permission changes: File system and HKLM registry hive.

To review and manage handling or permissions navigate to the Permissions tab.

Page 52: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 52 of 102

© 2014 Infopulse pacesuite.com

Switch between File System and Registry Permissions using respective sub-tabs. In the upper horizontal pane,

review modified resource permissions:

In the lower pane review changed permissions details of a selected resource:

In the Options panel in the bottom review or edit the following:

Permissions Filter – Filter permissions shown by an account. Include or Exclude all filtered;

Apply to MSI – the way permissions will be handled by the package;

SecEdit INF file + CA - permissions changes will be applied by the package by means of SecEdit INF

template and a Custom Action applying it (Note that only resources checked as Included in the top pane

will be included);

Don’t apply – no permissions changes to be deployed by the package;

Export to – export permissions details in a specified format.

Page 53: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 53 of 102

© 2014 Infopulse pacesuite.com

Shortcuts

Use the Shortcuts tab to manage application shortcuts to be installed by your package.

List of Shortcuts shows the list of all shortcuts available in the project. The List of Shortcut’s properties displays

parameters of an item selected.

To toggle a shortcut included or excluded from your package, check or uncheck it respectively in the Include

column of the List of Shortcuts. Note that excluded shortcut is still kept in the project and can be included back

at any time.

Properties

Review and configure MSI Properties of your package on the Properties tab

This tab displays the following groups of properties (Please note that standard properties required by Windows

Installer are not shown):

Predefined. Defined by the MSI Profile (see Installing and configuring PACE Suite to learn about MSI

Profiles);

Application Settings. Detected settings of the application. This may include Server names, IP

addresses, URLs, database login credentials etc. The settings are searched in configuration files and

registry entries based on rules defined in the MSI Profile. Each detected setting is by default turned

into a public property enabling an administrator to configure its value when deploying your package.

Vendor’s MSI properties set during the installation. This includes settings that were specified by you

in original installation’s dialogs (in case a vendor’s MSI was detected).

User-defined. Added manually.

Page 54: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 54 of 102

© 2014 Infopulse pacesuite.com

To edit a property name, click it.

Note. Properties related to Application Settings have empty name on the Properties tab. If you wish them to be

included into the package as MSI properties, you need to define their name in the Name column.

Note. Remember that names of MSI properties are case-sensitive. Moreover, only properties named with

CAPITALS (i.e. Public Properties) can be changed during installation of your package.

To delete selected properties, click Delete in the context menu.

5.2.1 Building a Package

When you are ready to build your package, click the Build button.

Please review the sections below for a guidance to configure a

desired output prior to building.

Package Types and Options

With MSI Generator, you can create an output package of one the following types:

MSI

All resources and options of your project are built into the new single MSI package containing the

application (true repackaging).

MST

All resources and options of your project are built into the MSI transform to be deployed together with

the original vendor’s MSI package (either detected during the installation or any other one). This

package type is recommended if an MSI product was detected during the installation.

App-V

A virtual App-V package is built, and App-V Generator is stated allowing editing it further.

Note. You can change a package type at any time and re-build your package.

Page 55: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 55 of 102

© 2014 Infopulse pacesuite.com

Package type dependent options:

MSI Options – choose an MSI Profile to be applied to the package. See “The installing and configuring PACE

Suite” section to learn about MSI Profiles.

For MSI

MSI File name – edit a name and path of the output MSI package;

INSTALLDIR – select a directory to be considered as the application installation folder;

Page 56: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 56 of 102

© 2014 Infopulse pacesuite.com

For MST

MST File name – edit a name of the output MSI transform (MST);

MSI File name – specify a file to be customized via MST (select among detected MSI products or browse

for any other one);

Transform – these options define the types of changes to original MSI to be included into output MST.

Please see below for the meaning of each checkbox, when checked:

Properties – MST will update properties values that were changed during original installation;

Features – MST will reflect feature states that were changed during original installation;

Update Files – MST will update files already present in original MSI (in case those were updated

during the installation);

Add Files – MST will add files captured during the installation, but missing in the original MSI;

Update Registry – MST will update registry entries already present in original MSI (in case those

were updated during the installation);

Add Registry – MST will add registry entries captured during the installation, but missing in the

original MSI.

For App-V 4.6

Page 57: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 57 of 102

© 2014 Infopulse pacesuite.com

For App-V 5.0

Note. The feature of creating App-V 5.0 packages requires Microsoft Sequencer v.5 to be installed on the

system.

Output Folder

By default, the package is saved to the same folder where the MSI Generator project is (Configured in Settings).

Still you can select a different output folder for package or enter a path directly:

An output folder can be quickly opened in Windows Explorer by clicking the “” button

MSI Generator Project

To enable future editing, an MSI Generator Project is always saved when a package is built. Default projects

location is <User’s Documents>\MSI Generator\Packages\<Project Name> but it can be configured in Settings.

The following contents are saved into a project’s folder:

<Project/Package Name>.mgp – MSI Generator Project file;

<Project/Package Name>_files – Application files required to build a package;

<Project/Package Name>_icons – Application shortcuts icons.

Package Creation Log

During building process, Package Creation Log area on the Package tab is populated with logging messages

(information, warning and errors) related to it. To review a full log, click on the Package Creation Log area

header.

Locked or Missing Files

Page 58: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 58 of 102

© 2014 Infopulse pacesuite.com

In case MSI Generator encounters locked or missing files during package building, an additional window

prompting your action will appear

The following actions are recommended in such case:

1. Review the list of locked or missing files. Uncheck all the files that you consider redundant and not

required in your package to exclude them and click Retry.

2. If some files are still locked, try to close applications that may be using them (most likely, an application

being packaged) and click Retry.

5.3 Opening an existing Project

To enable flexibility, MSI Generator always produces an MSI Generator project file (MGP) when a package is

created.

An MSI Generator project can be opened, edited and built into any supported output on any machine regardless

of a machine it was created on. All the resources are stored in a project, so that you have a space for decision

making.

To open an MSI Generator project, either:

On the Home screen, select the Open Project feature or use the arrow to select a recent project;

In the Project Edit Window, select File Open menu item;

Page 59: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 59 of 102

© 2014 Infopulse pacesuite.com

In Windows Explorer, double-click an MSI Generator Project file (MGP).

When a project is opened, the Project Edit screen will appear allowing you to edit and build a package (see

above for guidance).

Note. When copying an MSI Generator Project, remember to copy the complete Project Folder, not only a

Project file. Otherwise, application files will not be available to be built into a package.

Page 60: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 60 of 102

© 2014 Infopulse pacesuite.com

6 MSI Editor

With MSI Editor you can edit an MSI package or create a transform for it. MSI Editor also allows importing

resources.

This section will help you overview the process of editing a package with MSI Editor and main tasks you can

perform.

6.1 Basic and advanced operations

6.1.1 Creating new package

To create new MSI package:

a. Lanch MSI editor and select FileNew from the main menu

b. Select location for new MSI in opened Save As dialog.

6.1.2 Opening

To open an MSI, MST + MSI, WSI, CUB, MSM:

a. Launch MSI editor and select FileOpen from the main menu

b. Drag a file into MSI Editor’s window

c. Select MSI Editor in file’s context menu in Windows Explorer.

NOTE: CUB, WSI and MSM files can only be opened via FileOpen.

Page 61: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 61 of 102

© 2014 Infopulse pacesuite.com

6.1.3 Saving and generating a trasform

To save a file you’ve edited (e.g. MSI), select File Save.

To save all the changes you made into a separate MST to leave an original MSI unchanged, select File

Generate Transform:

6.1.4 Compiling

To “Compile” a package, select File Rebuild CABs and save.

This operation will gather all changes made in package source files and update an MSI/MST and any internal of

external CABs accordingly.

6.1.5 Importing registry

To Import a registry entries file (REG), select Tools Import Reg File.

Page 62: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 62 of 102

© 2014 Infopulse pacesuite.com

Browse for a file, select a feature to assign newly created components to and review/change destination

components for each registry value. Click Import when ready.

6.1.6 Importing files and folders

To import files or a folder (including all its files and subfolders), select Tools Import Files.

Step 1

Target directory – a folder in the package where files or folders will be imported.

Feature - a feature to assign newly created components to.

Page 63: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 63 of 102

© 2014 Infopulse pacesuite.com

Step 2

Select Files – to select one or many files which should be imported.

Select Folder – to select folder with its subfolders which should be imported.

Step 3

Media type – Media type for added files: compressed in a new cab of uncompressed external.

INI Files – how to treat INI files.

Page 64: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 64 of 102

© 2014 Infopulse pacesuite.com

Step 4

Import COM information – check to import extracted COM information from imported files.

6.1.7 Adding, Dropping and Importing tables

To add or drop MSI tables, select Tables Add & Drop Tables

Check checkboxes next to required MSI table(s) in the left column (standard MSI tables are available) to add

them to the current MSI database and click the Add button.

Select MSI table(s) in the right column and click the Remove button to drop selected tables in the current MSI

database.

Page 65: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 65 of 102

© 2014 Infopulse pacesuite.com

A table can also be dropped via the context menu in the table editor:

To import MSI tables, select Tables Import Tables

Select table(s) (IDT files) to be imported. If a table is absent in current MSI database, it will be added silently,

otherwise a confirmation dialog will be shown:

Check checkboxes next to the tables, which will be imported and will replace existing tables in MSI.

Page 66: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 66 of 102

© 2014 Infopulse pacesuite.com

6.1.8 Active Scripting

Active Scripting is a technology which allows running user-created scripts in the application’s environment. In

MSI Editor, it allows you to create or add existing scripts to automate any routine tasks.

To run a script:

1. Select Tools Active Scripting.

2. Select a script to be run

3. Set script properties (if needed)

Page 67: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 67 of 102

© 2014 Infopulse pacesuite.com

4. Click the Execute button

To Add a Custom Script:

1. Select Tools Active Scripting.

2. Click the Add button.

3. Fill in Scriptlet name, and Function name.

4. Select a scriptlet storage File Path

5. Fill in Description

6. Add script properties (arguments, required by script)

7. Add the script’s body, by clicking Start Editing.

Page 68: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 68 of 102

© 2014 Infopulse pacesuite.com

8. Save a script in a text editor and click Save in the Add Scriptlet window

6.1.9 Find/Replace

Use Edit -> Find/Replace or Ctrl+F to Find/replace any text in an opened file. Regular expressions are supported

(select Use RegExp option for that).

Page 69: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 69 of 102

© 2014 Infopulse pacesuite.com

6.2 Application Information

This tab allows managing general information, which is stored in the Summary Info, Property and Upgrade

tables of an MSI.

Import Upgrades… – to import Upgrade information from selected MSI packages automatically.

6.3 Files

Page 70: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 70 of 102

© 2014 Infopulse pacesuite.com

This tab enables reviewing all files and folders in a tree. Use the context menu to jump to the table editor.

Grayed out folders are Windows Installer predefined folders.

6.4 Registry

Similarly to the Files tab, the Registry tab shows all registry data of an MSI in a tree. Jump to the table editor,

and add values.

6.5 Shortcuts

Page 71: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 71 of 102

© 2014 Infopulse pacesuite.com

The left pane shows a list of shortcuts in the package, the right pane allows editing the properties of a shortcut.

6.6 Features and Components

On this tab, all MSI features and components are shown in a single tree. This is useful when you need to review

the structure of a package. The right pane gives ability to edit attributes and options of a component or feature

selected. Use the context menu or a button to jump to the table editor.

6.7 Custom Actions

Page 72: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 72 of 102

© 2014 Infopulse pacesuite.com

This tab allows viewing and managing standard and custom actions in a package, as well as creating and editing

custom actions.

6.7.1 Viewing and managing actions

Views

The left pane shows a list of standard and custom actions depending on a selected view (a view mathes a

respective MSI table):

InstallExecuteSequence – actions that are executed when the package is being installed (the top-

level INSTALL action is executed).

InstallUISequence – actions that are executed only when the package is being installed in UI mode

(the top-level INSTALL action is executed and the internal user interface level is set to full UI or

reduced UI).

AdminExecuteSequence – actions that the installer calls in sequence when the package is being

installed to an admin share (the top-level ADMIN action is executed).

Actions list

The Actions list provides the following information:

Checkbox - denotes whether an action is run always, conditionally, or never (disabled). Cleck to

change the state.

Icon - shows the custom action type. Standard actions do not have an icon.

Deferred custom actions are marked bold:

If an error found, a custom action is marked red:

Sequence

Actions are shown in the order of their sequence number. To change a sequence, either:

drag and drop an item;

Page 73: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 73 of 102

© 2014 Infopulse pacesuite.com

use the Up and Down buttons ( );

change a sequence number manually on the right pane

Filtering

Click the Filter… button ( ) to filter the list of actions and Clear filter ( ) to reset.

Filter options:

By source type

By condition

o On Install - actions that are executed when the package is being initially installed

o On Reinstall – actions that are executed when the package is being repaired of changed

o On Remove - actions that are executed when the package is being uninstalled

Note. This filter option is based on analysis of Condition filed of each action and may filter actions with

complex conditional constructions not accurately.

Hide standard actions – show all actions (including standard ones) or only custom actions.

6.7.2 Creating an editing custom actions

Creating

To create a new custom action either:

Click the ( ) button. This will create an action without a sequence – you will need to set its sequence

by entering the number of dragging to the right position in the list.

Use the context menu

Page 74: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 74 of 102

© 2014 Infopulse pacesuite.com

This will create a new action with a sequence after a current item in the list.

Options of an action

Name;

Source type – a type of an action;

Source – Source of an action. Type and choose properties, files or binary items in drop-down menu, or

import any file (to Binary table) using the button ( );

Target – Target of an action. The field is Intellisense-enabled (See IntelliSense editing for more info).

Click the ( ) button to edit in multi-line mode;

Condition – specify a condition. Pick most commonly used constructions from the drop-down menu;

Sequence – enter a number here, or drag an action in the list to change its sequence;

Attributes;

Type – the number which represents the Type colun in the CustomAction table. This number includes

source type and attributes.

Page 75: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 75 of 102

© 2014 Infopulse pacesuite.com

6.8 Properties

The Properties tab gathers all the properties in a single view, including the Property table, properties set by

custom actions, AppSearch, or via UI. A filter allows showing only public/private or standard/custom properties.

Furthermore, a description for standard properties is shown.

Filter name Description

Public Public properties in UPPER CASE

Private Private properties where at least one symbol in lower case

Standard All properties listed in LookupConfig xml (Properties node) as standard properties

Custom All except of Standard properties

Updated by AppSearch Show ONLY properties listed in AppSearch table.

Updated by UI Show ONLY properties listed in Control table, CheckBox table etc

Updated by CustomAction Show ONLY properties updated in CustomAction table. CustomAction table

All Properties All properties from different tables

Page 76: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 76 of 102

© 2014 Infopulse pacesuite.com

6.9 Table Editor

With the table editor, you can manually edit MSI database tables.

Note. Direct editing requires advanced knowledge of Windows Installer database structure, so make sure you

are aware what are you doing before you do.

You can navigate through tables on the left pane and view/edit table data on the right.

6.9.1 Row References

MSI Editor offers user very useful feature named Row References. By selecting any row in opened MSI user can

see the list of rows that are linked to the selected row. Press “Go To Selected Row” in the list to navigate to this

row.

Page 77: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 77 of 102

© 2014 Infopulse pacesuite.com

6.9.2 Undo-redo stack

MSI Editor offers user the full control of actions and operations performed with the opened MSI via The

Operations Recording Stack and Undo/Redo functionality. You can always revert the last operation using Ctrl+Z

hot key or by clicking an operation in the list. Redo an action using Ctrl+Y. The list of all actions performed for

the current MSI is stored and shown in the Operations tab of the bottom section of MSI Editor.

6.9.3 Smart Field editing

With the Smart Editing feature you can save lots of efforts when replacing or editing cells info.

There are 5 types of smart editing fields:

GUID

Numeric

Masked attributes

Lookup

Special lookup

Intelli-sense

GUID Editing

You can easily generate new GUID at editing

GUID cell by pressing on the “Generate

GUID” button.

GUID entries are validated to represent a GUID value:

Page 78: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 78 of 102

© 2014 Infopulse pacesuite.com

Numeric Editing

User can switch to hex/dec view for numeric cell:

When user clicks the switch button, numeric value is converted into selected view

mode:

HexView is shown via standard hex number representation with 0x prefix marking hex view mode start.

Both forms are editable and values edited in hex mode will be automatically changed in hex:

Dec/Hex values are automatically validated according to column type (Short, Int, Long):

And numeric value:

Masked Attributes Lookup

Masked attribute is basic text box with select attribute button:

You can easily set them via user friendly UI with attributes description. In order to do it click the “Select

attribute” button context menu. You will see the list of predefined attributes, their value, value in hex format,

and info field button.

Page 79: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 79 of 102

© 2014 Infopulse pacesuite.com

Attributes are gathered into groups by their value or property they affect. You can select/deselect attributes

according to group rules (Select => Any, ZeroOrMore, OneOrMore, One). When an attribute is

selected/deselected, it’s value is added/substructed from text box’s value.

Masked attribute values are validated as numeric lookup value.

Lookup

You can easily select all possible options of lookup cell editing by selecting

values from drop down box.

You can select values from combo boxes, or begin typing values to enable

combo box’s text search feature:

Lookups are validated uniqueness:

Page 80: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 80 of 102

© 2014 Infopulse pacesuite.com

Special Lookups

Special lookups are lookup drop down lists with additional info fields placed near the combo box’s general

value:

There are 7 special lookup types:

Directory lookup => the Info field displays target path value

File lookup => the Info field displays target path + file name value

Component lookup =>the Info field depends on attribute set for specified component it can be file,

registry, ODBC source. If a component’s key path is null, the Info field displays target path for the

components directory. If a file attribute is set, the Info field displays file lookup value for the component

key path file. If a registry – value for registry lookup component key path registry item. If an ODBC

source attribute is set, the Info field displays value of the DataSource column in the ODBCDataSource

table for the component’s key path ODBC value.

Component key path lookup => the Info field displays registry, file or ODBC data source value according

to attribute set.

Custom action lookup => the Info field displays information according to attribute set in the Attribute

column.

Custom action source lookup => the Info field displays directory lookup, file lookup, property field value,

or binary item label.

Registry lookup => the Info field displays resolved registry item value in form of (Registry hive\ Registry

key\ Registry name = Registry value)

Info fields are validated according to Lookup specification.

Page 81: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 81 of 102

© 2014 Infopulse pacesuite.com

IntelliSense editing

When you edit formatted fields or Contrition fields, you enter text according to complicated syntax. IntelliSense

editing helps user in specifying suggested values and autocompleting values in formatted and condition fields

editing. It’s based on the Lookups feature and uses special standard lookup collections to build IntelliSense

information. It can be then offered to user in the form of dropdown list with suggestions for the autocomplete

of the currently typed value.

You can use the IntelliSense feature in a fast and convenient way by beginning typing in the cell and then

choosing from available options from the list.

There are 6 lookups depending on lookup key user typed first:

“[” => Directory and Property lookup

“[%” => Environment variable lookup

“[~” => Registry lookup

“[#” => File lookup

“[!” => File lookup with short name

“[$” => Component lookup

If lookup is opened you have several ways to interact with it:

Directly select value from list and click on it, as a result a selected value will be added to current

formatted item with enclosing key “]”, Suggestion list will close automatically

Start typing letters of required key. The auto complete feature will kick in and the list of suggested

values will shrink with every typed letter, according to the matches in lookups:

Page 82: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 82 of 102

© 2014 Infopulse pacesuite.com

You can use keyboard arrows to navigate up or down the list, and select the needed value by pressing

the “Enter” key:

The parser can detect if you have placed text box’s cursor outside formatted key that was edited and hide

suggestion list:

Placing a cursor further or before formatted key will result

the IntelliSense to collapse the suggestions list:

If you put the cursor back, the

suggestions list will reappear:

Page 83: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 83 of 102

© 2014 Infopulse pacesuite.com

Selecting existing formatted key will

result the IntelliSense to treat it as a

lookup value and bring the suggestions

list:

Selecting part of existing

key will do the same thing:

Page 84: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 84 of 102

© 2014 Infopulse pacesuite.com

7 App-V Generator

With App-V Generator you can create an App-V package from a source installation or from an MSI Generator

project. Using advanced features, such as properties Inspector and Actions Pool, you can resolve issues and

increase virtualization compatibility.

This section gives a guidance to create an App-V package.

7.1 Standalone sequencing of a new application

If you have the whole PACE Suite in place, it is recommended to always capture applications with MSI

Generator, even if you need App-V package only. This would give you more flexibility, e.g. if an MSI package

becomes needed later.

Still App-V Generator can be used stand alone for full cycle App-V packaging.

7.1.1 Starting

To start sequencing, launch App-V Generator and select File New… from the main menu.

Specify Package Information.

In the Package Creation Wizard window, specify the following parameters:

Package name – the desired name of a target App-V package. You will be able to edit this later.

Asset Directory (or Primary Virtual Application Directory) – the directory where the application will be

installed during sequencing. You will NOT be able to edit this later.

Comments (optional) – enter any information that may be valuable when deploying or editing the

sequence later. You will be able to edit this later.

Page 85: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 85 of 102

© 2014 Infopulse pacesuite.com

Before proceeding, please make sure that all other applications are closed and that application installation

media is available.

Note. In order to get resources captured into a virtual package, App-V Generator uses the snapshot

comparison method rather than the system monitoring method (used e.g. by MS Sequencer), which

ensures that all changes done by the original installation included and nothing missed (e.g. typical

issue with shortcut advertising functionality).

7.1.2 Create First System Snapshot

When ready, click the Next button. If you

have previously made first system

snapshot App-V Generator will ask if you

want to use it or create a new one.

Otherwise the creation of the first

snapshot will begin immediately.

After the snapshotting process is finished

you can press Next and proceed to

installing your application.

7.1.3 Install and Configure the Application

Now you’re ready to install and configure the application being sequenced. Remember to:

Run and follow up the installation

process of application being

sequenced.

Specify Asset Directory as an

installation path (if supported by

vendor) as per App-V sequencing

best practices;

Launch the application and

perform its configuration, if

required.

In the Package Creation Wizard window,

you’re also able to change the resource

exclusion filters to be applied during snapshots comparison and generating a package (this might be helpful to

customize App-V Generator for your environment). Filters serve to dispatch captured application-related

resources (files, registry, services) from system- or other applications-related ones and avoid including

extraneous content to a final package. It is recommended that you leave the default filters enabled.

Page 86: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 86 of 102

© 2014 Infopulse pacesuite.com

7.1.4 Create Second System Snapshot

When you’ve made all the necessary

configuration to your application, click Next.

This will trigger the second snapshot

creation.

Once the second snapshot is done, you will

be directed to the main application window

to go on with editing (if required) and saving

your package.

7.2 Editing App-V package

7.2.1 Package options

Once the second snapshot is done, you will be directed to the main application window to go on with editing (if

required) and saving your package.

The following options are available under the General tab:

Package Name – the name of a target App-V package;

Comments – optional field containing any information valuable for further reference when

deploying or editing a package;

Output Folder – a directory where the target package will be saved upon selecting File Save…

Generate MSI Package – whether to generate an MSI installation package for a standalone package

deployment. Please see “The Opening and Saving Packages” section below for more info.

Page 87: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 87 of 102

© 2014 Infopulse pacesuite.com

7.2.2 Files and Registry

Using the Files tab you can view, add, change, delete and import/export virtual files and folders and set App-V

specific attributes for directories.

The Registry tab gives you an ability to add, delete, modify or import registry keys and values and manage

attributes of a virtual registry. Use the context menu options to perform operations upon any resource.

Page 88: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 88 of 102

© 2014 Infopulse pacesuite.com

7.2.3 Virtual Services

The Services tab enables you to manage virtual services included into the package. Manage services on the left

pane (You can add existing services from current machine by clicking the Add button or remove unnecessary

ones from the package by clicking Remove) and edit selected service properties on the right pane.

7.2.4 OSD Files

An OSD file (Open Software Descriptor) (http://msdn.microsoft.com/en-

us/library/aa740951%28v=vs.85%29.aspx) contains all the data required to publish and run a single

Page 89: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 89 of 102

© 2014 Infopulse pacesuite.com

application sequenced into virtual package. There may be several OSD files (shortcuts to applications) in a single

App-V package. When virtual application is deployed to desktop, OSD files are visible for user as shortcuts.

The OSD Files tab allows you to add/remove the OSD files in your

package (Use the Add and Remove buttons in the bottom of the left

pane) as well as set up options and contents of each one. When

selecting an OSD file in the left pane, the right pane gets populated

with its data and options.

The tab has two display modes, toggled with a special switch:

User;

Expert.

User display mode gives you a quick access to the most commonly used options, such as:

Application/shortcut Name, Version and Icon;

Shortcut Target and Arguments;

App-V Streaming options – protocol, hostname and port of an App-V streaming server;

Shortcut locations – the standard location a shortcut to be placed to;

File extensions – file associations with a virtualized application to be published on a client machine.

Switching to Expert mode provides you with a full control of all extensive options and contents of an OSD

file such as (but not limited to):

Operating System visibility;

Minimum required App-V client version;

OSD scripting (see “Actions pool” section for more info);

Advanced shortcuts management;

Environment variables;

ProgId's;

DSC (Dynamic Suite Composition).

Page 90: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 90 of 102

© 2014 Infopulse pacesuite.com

7.2.5 Advanced features

Properties Inspector

Hard-coded values (any specific values that are expected to be different on other machine or in different

conditions and should be replaced by dynamic variables – e.g. full file path, name of a user, hostname, database

credentials etc.) inside a package may cause compatibility issues or even break functionality of a virtual

application. App-V Generator’s “Properties Inspector” feature (accessible on the Properties Inspector tab) helps

to identify such values by analyzing a package using a predefined (yet fully customizable) rule set (set of search

settings and regular expressions).

Page 91: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 91 of 102

© 2014 Infopulse pacesuite.com

To do a search, press the “GO” button on the Properties Inspector tab, and the Results pane will be fed with

found matches. For convenient analysis, the search results are grouped by the categories: Credentials, User

Specific, Machine specific and Network specific (still categories are configurable – see below). In the Results

pane, a context menu is available enabling you to exclude an item from the package or jump to a folder, file or

registry entry to investigate and eliminate a hard-coded value.

Some hard-coded values cannot be simply replaced by variables (e.g. they are located inside a file) and need to

be eliminated by means of OSD scripting. Please see the “Actions pool” section for how is it done with App-V

Generator.

Predefined Properties Inspector rule

set comes with App-V Generator, but

you’re able to fully customize it using

the Edit button on the Properties

Inspector tab. The rule set editor

allows you to configure groups, search

conditions (matches/regular

expressions), areas to search in and

exclusions.

Page 92: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 92 of 102

© 2014 Infopulse pacesuite.com

Actions Pool

Actions pool is kind of a library of OSD scripts enabling you to resolve issues or make your package perform

specific tasks.

App-V Generator’s Actions pool can contain any types of

scripts supporter by App-V technology (VBS, shell,

embedded OSD scripts etc.) and already comes with

several pre-defined helpful scripts. To access the feature,

select Tools -> Actions Pool... item in the Main menu or

click the Actions Pool button on the Scripts pane of the

OSD Files tab (in Expert display mode).

Having such a library right in App-V Generator, you can

collect helpful things from package to package and ease

you future work w/o having to reinvent solutions found before. With built-in editor, you can add your own

scripts and do not need to edit OSD files each time directly.

An example pre-defined script from Actions Pool

is “File texts replace”. It enables you to

dynamically replace hard-coded paths in virtual

files of your package (see “Properties inspector”

section for how to discover such values). When a

script is selected and launch options are

specified, you can enter its parameters.

The “File Text Replace” script needs three

parameters: Name of the file, a value that needs

to replaced, replacement value.

Page 93: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 93 of 102

© 2014 Infopulse pacesuite.com

7.2.6 Opening and Saving Packages

Saving a package

To save a package, select File Save… from the main menu. The package will be saved In the Output folder

specified on the General tab. If left empty then it is set to the default output folder, configurable in Tools

Options menu.

After a package is saved, App-V Generator will open its folder in Windows Explorer.

To save a package with different name or to a different location, select File Save SFT as… from the main

menu.

Note. If a separate OSD has been opened then File Save… and File Save OSD as… menu commands serve

to save a single OSD file, not a complete package.

Output files

When you save a package both the full and deployment-ready set of App-V package files is being generated. See

table below for the output files listing.

Output File Description

<Package Name> Icons A folder containing icons for applications being published

by the package

<App Name>.OSD OSD files you’ve set up on the OSD Files tab.

<Package Name>.MSI An MSI installer file used for standalone deployment of an

App-V package. Running this installer leads to streaming

your virtual application on a single machine.

This file is generated only if the Generate MSI Package

checkbox is checked on the General tab.

<Package Name>.SFT Binary file containing all assets and state organized into

stream able feature blocks.

<Package Name>.SPRJ Sequencing project with references to OSD, default

package settings, list of all parser items, classifications and

exclusions.

<Package Name>_manifest.xml Publishing parameters for all applications in a package.

Opening a package

App-V generator can open any existing App-V package created with any

application.

To open a file, select File -> Open… menu and use the dialog box to select

a file.

App-V Generator supports opening the following types of files:

App-V package files:

o Virtual resources container binary file (SFT);

o Virtual application publishing file (OSD);

MSI Generator project file (MGP, XML).

After opening a file, you’re able to edit its contents, add any new resources, and save a package.

Page 94: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 94 of 102

© 2014 Infopulse pacesuite.com

8 Docu Generator

To create an application package that fulfills the requirements and expectations, you need to know clearly how

the application has to be installed and configured step-by-step. This includes (but is not limited to):

Installer files to be launched and features to be installed

Options to be specified in installation dialogs

License keys to be used

Application settings (e.g. startup screen disabled, connection settings specified) to be pre-configured by

the package

Desired shortcuts and their location.

While this information may be obvious for some installations (e.g. a simple next…next one without a choice), its

description is essential for another complicated ones.

It is recommended to agree on a standard form of an Installation and configuration instruction and make it

available along with original software installations.

Docu Generator helps to automate the creation of such documentation.

Follow the steps below to create an installation and configuration instruction with Docu Generator. Provide

these steps to your requester if you wish to ask them to create such documents.

8.1 Launch Docu Generator and Start Recording

Launch Docu Generator. On the Home screen, click Record

Scenario.

Scenario is user actions recorded by Docu Generator as a series

of screenshots and annotations. A scenario can be saved in internal Docu Generator format (DSCN file) or as a

document (DOC, HTML, MHT).

8.2 Control Recording

The recording window will appear in the lower right

corner of your desktop providing you the following

controls:

Pause/Continue – Click to pause recording.

Click again to resume;

Stop – stop recording and proceed to saving

results;

Hot Keys – Hover to see a hint of Hot Keys.

Click to edit Hot Keys

Page 95: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 95 of 102

© 2014 Infopulse pacesuite.com

8.3 Take Screenshots

Now, do the actions you want to record into the

document. Launch executables, go through dialogs,

select options and enter values just telling Docu

Generator when to take another screenshot, as

described below.

To take a screenshot:

8.3.1 Window/Smart area screenshot

Hold left Shift key when clicking. This will

make Docu Generator grab a window or

dialog/message box you’ve clicked on. If you’ve clicked outside any window (e.g. on desktop shortcut),

then a smartly chosen rectangular area around mouse pointer will be grabbed.

Executable path, a window title, names of clicked buttons or other controls, contents of text fields from

a captured window are automatically grabbed into textual annotations. Yet inclusion of this information

into a target document can be controlled when saving.

8.3.2 Custom area screenshot

Press Ctrl+Shift+PrintScreen, then click and drag the mouse pointer to select a rectangular area you

want to grab. A screenshot is done when you release the mouse button.

A preview of each new screenshot immediately appears in the Recording window.

8.4 Manage Screenshots

Hover the mouse pointer over a preview of a screenshot in the

Recording Window to access its options

Edit annotation… – Edit an annotation for the screenshot;

Copy to clipboard – Copy the screenshot to clipboard for

immediate use;

Remove – Delete the screenshot (preceded by a prompt).

Hover the mouse pointer over a preview for another moment to view the screenshot enlarged.

8.5 Add Annotations

To add a text annotation to the latest

screenshot, click the Add Annotation

button in Recording window or use the

Ctrl+Alt+X hotkey. Enter annotation text

in the “Add Annotation” window and

click the Add button

Page 96: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 96 of 102

© 2014 Infopulse pacesuite.com

8.6 Save results

When done, click Stop in the Recording window. The Save Results window will appear:

Use the Save as switch to select the output format. The following output formats are supported:

Word Document – the scenario will be saved as a series of screenshots and annotations into a DOC file;

MHT/HTML File – the scenario will be saved as a series of screenshots and annotations into a HTML

(Web page) or MHT (Web archive) file. A file type can be selected in a dialog box after clicking Save;

Docu Generator Scenario – the scenario will be saved in internal Docu Generator format (DSCN file)

which can be opened with Docu Generator and converted to an output document later.

Note. To let you return to your scenario later, Docu Generator always creates DSCN file along with the output

file in an output folder.

Note. If Microsoft Word is unavailable on the machine, the option of saving DOC file is inactive, but you still can

save a DSCN file and convert it on a machine with MS Office installed later.

Use the Template field to point Docu Generator to a template to be used for the output document. Please see

the next step for details.

The Options pane allows controlling the following information inclusion to the output document:

Save user actions – populate annotations with names of windows and controls clicked on;

Show mouse position – show mouse pointer and highlight it with a red circle on screenshots;

Show started application info – populate annotations with paths and command line arguments of

applications run during recording;

Show contents of edited fields – populate annotations with the contents of editable fields from

captured windows and dialog boxes.

Click the Save button to save the document. The document will be automatically opened in a default viewer,

and Docu Generator will be closed.

Page 97: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 97 of 102

© 2014 Infopulse pacesuite.com

8.7 Use Document Templates

Docu Generator supports Microsoft Word (DOT/DOTX) and HTML/MHT templates to be used for document

creation. To use a template, specify its file path in the “Save Results” window (see previous step).

In order to mark a position where screenshots and comments are to be placed to, add the following textual

placeholder into a template:

[SCR]

You can specify placeholder [SCR] in the existing table in a template. In this case the placeholder points to a cell

where screenshots should start, while a column to the right of it will be populated with comments.

If the placeholder is located outside a table, then a new table for screenshots and comments will be created. A

Docu Generator-default table style will be used.

If a placeholder is not found, screenshots and comments will be appended to the end of the template. You’ll be

warned about this in the Save Results window:

Page 98: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 98 of 102

© 2014 Infopulse pacesuite.com

9 Quality Assurance with PACE Suite

The final stage before deploying an application package is its Quality Assurance (QA).

This section describes a workflow to check a created application package and make sure it is ready to go to

production.

QA process may differ based on enterprise-specific needs. For example, it may have either one or several stages

like user acceptance test and production acceptance test done by different parties.

Regardless of process-based specifics, general steps to test a package are the following:

1. Validate against technology requirements

2. Verify against your packaging requirements

3. Test package functionality

4. Test application functionality

9.1 Validate against Windows Installer requirements

It is recommended to start QA from checking if a package meets technology requirements. For MSI, the easiest

way to do so is using Microsoft’s Internal Consistency Evaluators (http://msdn.microsoft.com/en-

us/library/windows/desktop/aa369554(v=vs.85).aspx) - ICE.

To do this in MSI Editor:

1. Open the MSI with MSI Editor and Select Validation Full MSI Validation Suite menu item.

Page 99: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 99 of 102

© 2014 Infopulse pacesuite.com

2. Use the Ice Validation sub-tab on the Tables tab to review the errors and warnings. Clicking an error or

warning will navigate you to the respective table and cell.

9.2 Verify against your packaging requirements

Remember that packaging requirements for your package consists of two information sources (see Packaging):

Overall requirements gathered from the sponsor (requester, manager);

Installation requirements for the specific application (Installation and Configuration Manual).

Review your package and make sure no requirements of both types are missed. To streamline this process, it is

recommended to gather the common requirements in a checklist.

9.3 Test package functionality

Package functionality implies its correct installation, user data deployment, MSI repair (if required), and

uninstallation. Reliability of this stage depends mostly on how your testing environment is close to a production

one. Also, it is strongly recommended to use the same deployment means as in production.

Correct uninstallation implies that after uninstalling a package the system and third-party applications function

similarly as they did before your package installation. A reliable way to ensure this is the following:

1. Snapshot system’s resources before installing your package.

2. Install, run application and uninstall your package.

3. Snapshot system’s resources for a second time.

4. Compare the two snapshots. In case the comparison shows removed resources then most likely an OS

or third party apps are influenced by out package (application conflict).

Follow the steps below to do this test with MSI Generator.

Page 100: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 100 of 102

© 2014 Infopulse pacesuite.com

9.3.1 Create a snapshot before installation

Run MSI Generator and select Create snapshot task in the Home screen.

System snapshot creation starts immediately, but you still can customize areas being scanned

MSI Generator saves system snapshot as a set of files in a Snapshot Folder. Snapshot Folder path defaults to

<User’s Documents>\MSI Generator\Snapshots\<Snapshot Directory> (can be changed in Settings).

Snapshot Directory is named in the following format: <Machine Name>_<Timestamp>.

Click the “” button to navigate to your Snapshot Directory.

When the system snapshot is created, you can choose whether to create another one, compare it with the

existing one or go back to the home screen:

Note. A Snapshot Folder can be copied to any machine and used for comparison with any other snapshot, even

done on other machines.

Page 101: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 101 of 102

© 2014 Infopulse pacesuite.com

9.3.2 Install and then uninstall the Application Package

Install your package, run the application. Perform any functional testing required (see below). Then uninstall the

package.

9.3.3 Create a snapshot after uninstallation

Repeat snapshot creation with MSI Generator (can be done by clicking the Cerate snapshot button).

9.3.4 Compare Snapshots and review resource consistency

Click "Compare Snapshots" on the MSI Generator Home Screen.

Specify the following options on the Compare Snapshots screen:

First Snapshot and Second Snapshot – are snapshot, will be compared. Select from the list or choose

snapshot directory;

Project File – an MSI Generator project to save comparison results as;

Filters – to be applied during comparison (see Installing and configuring PACE Suite to learn about

Resource Filters);

Click the Compare > button to run comparison.

An MSI Generator Project Editing window will appear allowing you to review snapshots difference.

9.4 Test application functionality

An important part a package QA is to check if a packaged application functions as expected. To do so, it is

recommended to:

1. Compare a behavior of your packaged application with the one installed with an original source

installation.

2. Check if your application’s configuration meets the one described in Installation and Configuration

Instruction.

Page 102: Application Packaging with PACE Suite 3 - Infopulseinfopulse.com/Global/PACE/Application Packaging with PACE Suite.pdf · Repackage – an application might be repackaged into an

Application Packaging with PACE Suite Page 102 of 102

© 2014 Infopulse pacesuite.com

Appendixes

1. Appendix A. Sample applications for packaging

Application Possible outgoing Package Types

7Zip MSI, MST, App-V

Adobe Reader MSI, MST, App-V

Adobe SVG Viewer MSI, MST, App-V

Mozilla Firefox MSI, App-V

Apple iTunes MSI, MST, App-V

Apple QuickTime MSI, MST, App-V

FileZilla MSI, App-V

Google Chrome MSI, MST, App-V

Winamp MSI, App-V

Oracle Java Runtime Environment MSI, MST

Microsoft Skype MSI, MST

Microsoft Office Viewers MSI, MST, App-V

IDM UltraEdit MSI, MST, App-V

Notepad++ MSI, MST, App-V

WinZip MSI, MST, App-V

DoPDF MSI

CDBurner XP MSI, MST