Blog Posts by pace-support

Ask a question

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)

Windows 10 migration for enterprise: what to consider

When Windows 10 was released in 2015, the enterprise world reacted calmly – during the poll at Microsoft’s own Ignite conference around half of the respondents claimed their company would wait for more than a year before upgrading. The same answer was given by a whopping 80% of businesses with more than 100 000 end users.

However, 2017 is the high time to start a migration process. Here are the top 3 reasons:

  1. Windows 7 end-of-life is scheduled for 2020. Seems like a distant future? Not for the enterprise world – business had the same amount of time to move from Windows XP to Windows 7, and still, lots of them ran out of time. Migrations pilots, testing, and fixing compatibility issues (more on that later) may take over a year.

  2. Windows 7 is still the dominant OS in the enterprise market; however, Windows 10 adoption is gradually accelerating. According to Spiceworks’ survey, Windows 10 penetration is already at 11%. Ultimately, more enterprise software vendors will be shifting their focus to Windows 10 quite soon.

  3. Universal Windows Platform – a Windows 10 novelty – is a major focus for Microsoft, and software providers are following suit. For example, Sage’s popular CRM and accounting apps are already in Windows Store. Our own PACE Suite will support repackaging any installer into Universal Windows Platform format later this year.

Assuming the majority of businesses are planning to upgrade this year, we would like to highlight a few challenges that must be considered.

Cost of migration

The most recent similarly large OS migration was moving from Windows XP to Windows 7. According to Forrester, businesses have spent $1000 per average upgrade back then. While the cost of moving to Windows 10 will probably be smaller, it could still be a significant amount for any large company. What is more important, the application migration process was the most expensive part of that upgrade, and it will be a large investment this time as well.


Any migration project involves deploying business software to a large number of end users. To smooth this process, we would advise repackaging apps to MSI format for the following reasons:

  • Minimize end user involvement. With MSI silent installations, important configurations (licensing information, components to be installed, etc.) are pre-defined, and users can’t change that and disrupt the deployment.
  • Create and deploy pure packages. Exclusion lists automatically filter all captured resources and omit unnecessary system changes, which ensures the creation of pure packages (for example, PACE Suite has an editable exclusion list tailored to Windows 10).

Compatibility issues

Migrating critical applications from Windows XP to Windows 7 was a major challenge for enterprise IT and service providers. Though lots of Windows 7 applications are compatible with Windows 10, the best practice is to verify if mission critical software survives the upgrade. Moreover, testing is especially important for infrastructure apps.

Windows 10 adoption for the enterprise world is imminent, and we believe 2017 will be the year the majority of businesses will start or even complete the upgrade. If your migration project includes application repackaging, we invite you to try PACE Suite. PACE Suite doesn’t require any post-install configurations, has an easy user interface with helpful wizards, and allows installations of any number of virtual and physical machines. You can learn more about PACE Suite features here.

Be the first to comment

Types of Packages: Non-Virtual Packages – Practical Advice and Conclusions

Ever since the dawn of the consumer electronics and Windows OS, before virtualization has hit the mass-market, non-virtual packages were used to install software. It is worth mentioning though that non-virtual packages remain fairly popular and are nowadays widely used – as often as virtual packages.

Non-virtual packages can be grouped into three main categories, which we discussed in the previous blog posts:

According to the best practices, it is strongly advised to use Windows Installer (MSI) format for most application packaging needs.

  • Being more flexible in comparison to other formats, MSI is a perfect choice to perform complex operations with packages.
  • MSI allows using scripts to perform fine-tuning, therefore making it possible to deal with tasks of any complexity.
  • Since many .exe installers are rather limited in terms of configuration options, they can be repackaged to Windows Installer packages. Unfortunately, some packages can’t be repackaged, as they might be based on complex internal logic (e.g., installation of a system service or a driver). In such cases, it’s possible to use MSI format as a wrapper for an .EXE file. Custom Action is used to deploy .exe files while all additional configuration is performed using MSI. That results in a single .MSI file, containing all necessary installation logic and ready for deployment.
  • It should be noted, that Microsoft SCCM, one of the most popular deployment systems, is optimized for Windows Installer format providing a native support of .MSI packages. It ensures effective utilization of all features, offered by the Windows Installer technology.

In our next blog post, we’ll discuss existing approaches to virtual application packaging in Windows environment. Stay current!

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.

Learn more about PACE Suite:

Be the first to comment
Showing 1 - 5 of 25 results

Top Contributors

Talk About Virtualization