Blog Posts by pace-support

Ask a question

UPDATE: The votes are here! | Vote for the new features to be added to PACE Suite application packaging tool!

The voting ended - learn more:

When developing PACE Suite, we always take feedback from our users into a serious consideration. Feature requests are the backbone of our product backlog. Today we want to take things even further.

We invite application packaging and virtualization professionals, as well as system administrators and IT managers to vote for the features that you believe must be added to the next PACE Suite release (planned for September 2017). The voting will take 2-3 minutes of your time - just follow this link to a simple Google Form. The voting is completely anonymous, and we do not collect your personal data.

Let's make PACE Suite even better together!

Learn more about current PACE Suite features:
Be the first to comment

The launch of PACE Suite 4.3 – the fastest tool for creating MSI packages

We have just released PACE 4.3 and together with several new features, we made it the fastest tool to build MSI packages. In this blog post, we will provide a detailed overview of our internal tests.

Our packaging environment

Below you can find the detailed information about the packaging environment we used in our speed tests.

Virtual Box 5.1.18 r114002 virtual machine configuration:

  • Processor: 2 virtual x64-based CPUs
  • RAM: 4 GB
  • Hard drive: SATA HDD 50 GB
  • Video memory: 128 MB
  • Guest OS: Windows 10 Enterprise 64-bit OS (10.0, Build 10586)

Physical machine configuration:

  • Processor: i5-3230M CPU @ 2.60GHz
  • RAM: 8 GB
  • Hard drive: SATA HDD 1 TB
  • Video memory: 1 GB
  • Host OS: Windows 10 Enterprise 64-bit OS (10.0, Build 10586)

We purposely used a relatively slow machine so that our tests could be closer to different packaging environments. We chose five installers of different sizes to build MSI packages (all trademarks and rights belong to their respective owners): Firefox, MiKTeX, Anaconda, AutoCAD, and Matlab.

Internal speed test results

Before sharing our results, we would like to emphasize that these internal tests were very dependent on our packaging environment, and the results may differ on other machines and with other packages. However, even with certain deviations, the speed of building MSI packages became truly remarkable. Here are the results of our internal tests:


MSI building time

Output package size

Number of


Number of registry entries

Matlab R2017a 9.2

2h 06m 34s

2.77 GB

147 524


AutoCAD 2018

1h 03m 02s

4.80 GB

16 776

18 078

Anaconda 4.3.1

32m 25s

1.29 GB

16 318


MiKTeX 2.9

6m 35s

0.29 GB

13 509



Previously, opening a large MSI in MSI Editor took a substantial amount of time. We have improved the Open MSI feature as well, so now you can open packages significantly faster:


MSI opening time using

PACE Suite 4.2

MSI opening time using

PACE Suite 4.3

Matlab R2017a 9.2

14m 41s

2m 17s

AutoCAD 2018



MiKTeX 2.9

4m 2s



But wait, there is more!

Apart from making PACE Suite the fastest application packaging tool, the 4.3 release introduces several new features as well:

  • Export registry from the package to REG file;
  • Import .NET assemblies;
  • Import COM information from 64-bit files.

We invite you to download PACE Suite 4.3 free trial to test the new features and improved MSI Generator & MSI Editor by yourself:

Be the first to comment

Best practices for preparing an application packaging environment

Before any packaging starts, a packaging environment should be prepared. As a rule, a packaging environment should be virtual, and the reasons for this will be covered later in this article. Conditionally, we can differ the packaging environments by several criteria:

By a packaging technology. A packaging technology defines a set of tools, which should be preinstalled on a packaging client. The following tools are recommended but MSI packaging process is not limited to them, and it possible to use other software:



PACE Suite

  • MSI Generator
  • MSI Editor
  • Docu Generator
A powerful toolset for almost all packaging needs (MSI/App-V/ThinApp)

Sysinternals Suite (the most required tools)

  • PsExec
  • ProcMon
  • ProcExp


PsExec – command line tool that we will use to start cmd.exe console under built-in system account. This account is usually used in most deployment systems to deploy software.

Process Monitor (procmon.exe) – this tool can be used for analysis of application/installation behavior and it helps to understand the causes of certain application/installer activities.

Process Explorer (procexp.exe) – this tool shows the process tree and helps to understand what child processes are created by an application or an installer.

Some double panel file manager (optional)

  • Total Commander
  • Far Manager
  • Unreal Commander
  • Double Commander
  • Free Commander
  • Etc.

A convenient tool to work with the files during packaging. It has numerous plugins, which can help to work with ftp, archives, editors etc. This is absolutely not a required tool – the choice depends on the demands of each engineer.

By purpose. The two main purposes are:

Packaging. For this purpose, we need to have as clean OS as possible, with a minimal number of preinstalled software. For these needs, it is better to use the OS right after it has been installed, and a minimal set of packaging tools. This is necessary in order to minimize the impact of a third-party software on the packaging process, as well as to identify the possible software dependencies and correctly handle them.

Testing. This environment should be as similar to the end-user environment as possible. It would be better to use a virtual image utilized in the end-user environment where the package will be installed.

After the packaging environment is prepared, the packaging process can start.

The first thing a packaging engineer should do before the actual packaging is the Incoming Check. During this process, the following investigation should be conducted:

  1. Check package sources availability. The discovery document and application sources should be available and copied to the packaging workstation. The best practices for creating discovery documentation will be covered in a separate blog article.
  2. All instructions in the discovery document should be clear and reproducible with given software sources.
  3. After successful installation, an application should also be successfully launched and all required configuration should be available.
  4. Installation should be evaluated in accordance with the estimation complexity matrix. This document is a kind of a questionnaire that contains the objective characteristics of the future package, such as the number of files, registry entries, the size of the installed application, controlled services or drivers, dependencies, etc. Alternatively, you can use PACE Suite where complexity estimation report is one of the features. According to the estimation, we can determine approximate complexity of the packaging and based on the estimated complexity, we can roughly determine the amount of time that will be needed to spend on packaging. This assessment can be used to forecast and assess the packaging costs.
  5. If during one of these stages there are some ambiguities, a packaging engineer should immediately clarify the issues with the software owner or the customer. This is very important to clarify all issues as early as possible to save time on bug fixing in the future.

When everything is clear, a packaging engineer can proceed to the actual packaging.

In case you are looking for an application packaging and virtualization tool, we invite to you to learn more about PACE Suite: Apart from complexity estimation, it offers advanced MSI editing capabilities, package validation and testing, and numerous other application packaging features.

About the author

Dmitry Puzanov is an experienced IT specialist, a leader of Infopulse application packaging team and an analyst in the packaging sphere with 10+ years of experience in support engineering, networking, software installation development, and IT management.

Be the first to comment

Types of Packages: Virtual Packages – Microsoft Application Virtualization (App-V)

In the previous article, we discussed the various types of non-virtual packages and gave some practical advice for application packaging. Now, we will move on to virtual packages and begin with Microsoft App-V as one of the most widely used virtualization formats.

The process of creating virtual packages is called virtualization. Application virtualization is the technique of separating the application configuration layer from the operating system. It enables applications to run on clients – desktops, servers, and laptops – without actually being installed on them and to be administered from a central location. With applications installed on a centralized server using this method, users of application virtualization solutions can access that software from whatever particular operating system their computers are running.

App-V is a widespread application virtualization and streaming solution from Microsoft. App-V enables you to make applications available to the end users without installing the applications directly on end user computers. App-V transforms applications into centrally managed services that are never installed and don't conflict with other applications. This is made possible through a process known as “sequencing the application”, which enables each application to run in its own self-contained virtual environment on the client computer. The sequenced applications are isolated from each other. This eliminates application conflicts, but the applications can still interact with the client computer

App-V is a part of the Microsoft Desktop Optimization Pack (MDOP) and requires additional licensing. The licensing is user-based and is either acquired by licensing Microsoft Desktop Optimization Pack (MDOP) for use on client operating systems or as part of the Microsoft Remote Desktop Server Client Access License for use on Remote Desktop Servers. MDOP is a suite of technologies available as a subscription for Software Assurance customers. There also exists a licensing model that exists for hosting (cloud services) providers.

App-V 5.1 Environment Overview

Microsoft Application Virtualization (App-V) 5.1 enables administrators to deploy, update, and support applications as services in real time, on an as-needed basis. Individual applications are transformed from locally installed products into centrally managed services and are available wherever you need, without the need to pre-configure computers or to change operating system settings.

App-V consists of the following elements:

·       App-V Management Server that provides a central location for managing the App-V infrastructure, which delivers virtual applications to both the App-V Desktop Client and the Remote Desktop Services (formerly Terminal Services) Client. The App-V Management Server uses Microsoft SQL Server® for its data store, where one or more App-V Management Servers can share a single SQL Server data store. In addition, it authenticates requests and provides security, metering, monitoring, and data gathering. Active Directory and supporting tools are used to manage users and applications. The server has a management site that lets you configure the App-V infrastructure from any computer: you can add and remove applications, manipulate shortcuts, assign access permissions to users and groups, and create connection groups. Finally, the App-V Management Server enables communication between the App-V Web Management Console and the SQL Server data store. These components can all be installed on a single server computer, or on one or more separate computers, depending on the required system architecture.

·       App-V Publishing Server provides App-V Clients with entitled applications for the specific user and hosts the virtual application package for streaming.

·       App-V Desktop Client retrieves virtual applications and publishes the applications to the clients. It also automatically sets up and manages virtual environments at runtime on Windows endpoints, as well as stores user-specific virtual application settings, such as registry and file changes, in each user's profile.

·       App-V Remote Desktop Services (RDS) Client enables Remote Desktop Session Host servers to use the capabilities of the App-V Desktop Client for shared desktop sessions.

·       App-V Sequencer is a wizard-based tool that you use to transform traditional applications into virtual applications. The Sequencer produces the application “package,” which consists of:

a)      a sequenced application (APP-V) file;

b)     a Windows Installer file (MSI) that can be deployed to clients configured for stand-alone operation;

c)      Several XML files including Report.XML, PackageName_DeploymentConfig.XML, and PackageName_UserConfig.XML. The UserConfig and DeploymentConfig XML files are used to configure custom changes to the default behavior of the package.

What’s inside an App-V package

To create a package as it has been mentioned in the previous paragraph, you will need a sequencing software. The sequencing process creates virtualized application with the following files:

.appv – the primary package file, which contains the captured assets and state information from the sequencing process. The architecture of the package file, publishing information, and registry are in a tokenized form that can be reapplied to a machine and to a specific user upon delivery.

.msi – executable deployment wrapper that you can use to deploy .appv files manually or by using a third-party deployment platform.

_DeploymentConfig.XML – a file used to customize the default publishing parameters for all applications in a package that is deployed globally to all users on machines that are running the App-V client.

_UserConfig.XML – a file used to customize the publishing parameters for all applications in a package that is a deployed to a specific user on a computer that is running the App-V client.

Report.xml – a summary of messages generated during the sequencing process, including omitted drivers, files, and registry locations.

.CAB (Optional) – a package accelerator file used to automatically rebuild a previously sequenced virtual application package.

.appvt (Optional) – a sequencer template file used to retain commonly reused Sequencer settings.             

App-V for Windows 10

From the Windows 10 1607 build, the App-V for Windows 10 is built into the Enterprise edition of the OS. However, is still requires downloading, installing, enabling the server- and client-side components. Luckily, if you are already using App-V 5.x, you don't need to re-deploy the App-V server components as they haven't changed since App-V 5.0 was released. In other cases, the App-V server components can be obtained with the Microsoft Desktop Optimization Pack (MDOP) 2015 ISO. The App-V client is already included in the Windows 10 1607 and must be enabled with either Group Policy or PowerShell – here’s a step-by-step instruction. Finally, you will require a sequencer – you can use one that Microsoft offers or choose from a wide variety of sequencing software.

If you need help upgrading to App-V for Windows 10, we suggest using this guide from Microsoft. Also, App-V gradually approaches end of mainstream support (more information on this here) so now is a good time to plan the future migration.

Our own application packaging & virtualization tool PACE Suite allows you to sequence and edit App-V 5.x packages, as well as offers full support of App-V for Windows 10. Learn more about PACE Suite:

Be the first to comment

New PACE Suite is out!

We invite you to try the latest version of our application packaging & visualization tool PACE Suite. Our 4.2 release has just gone live, and you can read the full announcement here

Among the improvements are:

  • Support of App-V for Windows 10 (the client included in 1607 build).
  • MSI packaging now runs several times faster.
  • Enhanced permission settings management.
  • And more!

We’re also gathering feedback from the packaging professionals, so any comments are appreciated!

View comments (1)
Showing 1 - 5 of 27 results

Top Contributors

Talk About Kace Ticket rule