September, 08, 2021
With the help of Infopulse’s application packaging tool PACE Suite, clearByte is able to deliver high-quality packages in a quick and timely manner granting a Swiss Made quality to their clients worldwide.
clearByte is a Switzerland-based software packaging and workplace company that offers software packaging as a service, partly on-site at the customers offices and off-site. Following the hand-in-hand customer strategy and agile approach, clearByte is in the IT market for 14 years.
One of their top experts Peter Fankhauser will guide you through the creation of an MSIX package with the PACE Suite.
At clearByte, we have been working with PACE Suite for years to create software packages and use them in mass distribution. We are also an exclusive PACE Suite distribution partner in Switzerland and therefore the direct local contact to its developer company Infopulse.
Our cooperation has always been extraordinarily good and resulted in high quality of the solution. Infopulse proved to be a reliable partner and demonstrated high competence and fast reaction to whatever we requested, from feature enhancements to work on bug fixes. Eventually, PACE Suite has grown into a powerful MSI and MSIX packaging tool and it is hard to imagine our daily work without it.
Why we use PACE Suite for applications packaging
The user interface (UI) and the architecture of the PACE Suite are designed according to modern standards. The whole tool and its integral components are very comprehensive and yet not sluggish. Besides, the speed is high and enables nimble handling when packaging, even when monitoring or snapshotting installation processes.
Another plus point of PACE Suite: The numerous applications in the scope of the tool make the creation of installation packages much more efficient. Within the MSI Editor, there are many add-ons and wizards that facilitate the editing of the MSI tables. For example, setting permissions on directories/registry, install drivers or the feature/component overview, which allows user to see the resources per feature at a glance.
The Custom Action Wizard is very useful too. In addition, we like the support in the context of duplicate files for user resources (files in the user profile), which generate overhead every now and then. The Docu Generator, featured in this guide, is also a frequently used tool for creating installation documentation.
And now the icing on the cake: The price-performance ratio of PACE Suite is in our opinion unbeatable in the packaging market.
Step-by-step Guide: Creating an MSIX package with PACE Suite
In this example, we will show how to create an MSIX package from the Windows application Paint.Net 4.3.26.
The following part of this guide is created with help of PACE Suite – Docu Generator tool.
Run PACE Suite Launcher either from the Start Menu or Desktop shortcut on your work station (PC).
Select Local Setup Capture to perform the repackaging on the local work station, where PACE Suite is installed; or select Remote Setup Capture to repackage on the remote virtual machines.
In order to avoid capturing a ‘system noise’ and get more pure capturing results, stop running the non-essential services and process, displayed in the list.
Select the capturing method, project name and its location. Choose exclusion filters that will be used to detect and filter out the unnecessary resources.
- Use Monitoring method for the quicker capturing.
- Use Snapshotting method for capturing huge installations and those that require the system restart.
We will use the Monitoring method.
Select the installation processing mode.
- In the Automated mode the wizard runs your Source installation with Arguments between the pre-install and post-install scans. The post-install scan starts once the process of the run source installation is ended.
- In the Manual mode, the wizard will pause after the pre-install scan to allow you to install any set of apps, change the required app settings and make any system changes that you need to capture and include in the package.
We will use the Manual mode.
Wait while the pre-install scan is made.
Run and complete the installer of an app you need to convert into MSIX (paint.net in our case).
Run the installed app.
When finished, tick I have completed the installation and click Continue.
Capturing is completed. Tick Copy the captured files to the project folder and click Finish.
If some files that were detected during the capturing are currently missing or locked, they will be identified and displayed in the wizard. If the listed files are ‘system noise’ and do not belong to your application, click Finish to continue. In this case, sources of the missing and locked files won’t be copied to the folder, but their records will remain in the project file.
The captured project is automatically opened for editing. The first time you start the project file, you will see the MSI settings. We will switch to MSIX.
On the Package > MSIX tab you can view and manage the package properties and settings.
Switch to the Files and then to the Registry tab to review the captured resources and exclude/delete the unnecessary ones.
The excluded resources remain in the project as ‘Excluded’ (highlighted in yellow and crossed out) and they will not be built into the package. You can include them back at any time and rebuild the package.
In our case, there is almost nothing to delete from Files and Registry.
On the Shortcuts/Apps > MSIX tab you can view and manage apps (i.e. shortcuts) of the MSIX package and their runtime fixes (Package Support Framework).
NOTE: The Package Support Framework (PSF) is an open source kit that allows to apply runtime fixes to the repackaged Win32 app that fails to run in an MSIX container.
As you may know, MSIX packages for sideloading must be signed. The signature provides the user with verification that the app’s data has not been modified after it was signed while also confirming the identity of the user or company that signed it.
Select the necessary signing option, specify the certificate details and click Save.
Finally, ensure that Package format is set to “MSIX” (default option) and click Build UWP to generate the MSIX package from the project file.
Wait while the package generation is done.
Click Go to… next to Project folder to open the current project folder in Windows Explorer. Then you can close the tool.
In the output folder under APPX is the created MSIX package.
Step-by-Step Guide: Testing an MSIX package
It is recommended to use a clean system for testing the created MSIX package. But, if you are going to use the same system, first, uninstall the original app installer that was previously installed during the capturing process (in our case Paint.Net).
Ensure that the certificate, used for package signing, is trusted on that system. If you are using the self signed certificate, install it manually.
Select Install PFX from the context menu of Windows Explorer.
Select Local Machine.
Enter the certificate password and click Next.
Select Place all certificates in the following store and click Browse….
Select the Trusted Root Certification Authorities (or Trusted People or Trusted Publishers) certificate store.
Note that by adding a certificate to local machine certificate stores, you affect the certificate trust of all users on the computer. It is recommended that you remove those certificates when they are no longer necessary to prevent them from being used to compromise system trust.
If the certificate import was succesful, close the message and proceed.
When the used certificate is installed, launch the created Paint.Net MSIX package from the Output folder.
Wait while the package is installed.
Paint.Net , installed from MSIX package, starts as expected.
Select More > App Settings from the context menu of the installed MSIX app to view and ckeck package details.
Find information about the installed MSIX package.
Creating an MSIX package with the PACE Suite and snapshotting this process with the Docu Generator saves a lot of time, since the tool-driven approach grants a ready package with the corresponding documentation. The exclusion settings to filter the results are very well set, since it requires very little post-processing after the monitoring (“capture out of the box”). In addition, thanks to the project file (*.mgp), you can also create all other package formats from the one monitoring, that is if MSIX is not used, an MSI can simply be compiled from the same recording.
About the Author
Peter Fankhauser is a Senior System Engineer and Software Package Engineer at clearByte for the last 5 years. Mr. Fankhauser cooperates with customers on-site by creating MSI and APP-V packages with PACE Suite.