Blog Posts by pace-support

Ask a question

How to edit MSI packages: application packaging video guide (part two)

Our next video guide in our series of application packaging educational videos is ready. We continue to discuss how to edit MSI packages, and this time we cover management of upgrades, custom actions, features, and components - follow this link to watch the guide.
Here is the first part of this guide: How to edit an MSI package (files, registry, and shortcuts).

Previous episodes:
How to convert EXE to MSI (also available as a text guide)
How to create a response transform (MST)
How to create an MSI package from scratch (a basic approach)

If you want us to review a specific application packaging topic just request it in the comments.

PACE Suite is the fastest application packaging tool - learn more at https://pacesuite.com/
Be the first to comment

How to edit MSI packages: application packaging video guide (part one)

We have just released the next video guide in our series of application packaging educational videos. This time we demonstrate how to edit MSI packages but as the topic is broad we divided the guide into two parts. Here is the first part: How to edit an MSI package (files, registry, and shortcuts). The second part of the guide will be out in August as well.

Previous episodes:
How to convert EXE to MSI (also available as a text guide)
How to create a response transform (MST)
How to create an MSI package from scratch (a basic approach)

If you want us to review a specific application packaging topic just request it in the comments.

PACE Suite is the fastest application packaging tool - learn more at https://pacesuite.com/

Be the first to comment

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

The voting ended - learn more: http://pacesuite.com/blog/vote-for-new-features-results/

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: http://pacesuite.com/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:

Installer

MSI building time

Output package size

Number of

files

Number of registry entries

Matlab R2017a 9.2

2h 06m 34s

2.77 GB

147 524

594

AutoCAD 2018 3.1.0.175

1h 03m 02s

4.80 GB

16 776

18 078

Anaconda 4.3.1

32m 25s

1.29 GB

16 318

21

MiKTeX 2.9

6m 35s

0.29 GB

13 509

184

 

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:

Installer

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 3.1.0.175

29s

24s

MiKTeX 2.9

4m 2s

14s

 

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: https://goo.gl/T5OssL


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:

Tool

Description

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

Download

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: https://goo.gl/tP3mkK 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
Showing 1 - 5 of 29 results

Top Contributors

Talk About appdeploy-tools