Effortless Building Package Automation, Testing, & Editing in PACE Suite
It’s time to explore the next phase of automating application packaging with PACE Suite. Part 2 delves into the package automation, like building MSI, MSIX, APPX, and APPV. It also takes a closer look at testing automation and routine MSI editing tasks. Don’t forget to check out capturing automation insights in Part 1 .
Contents
Automation of Routine MSI Editing Tasks
Building MSI, MSIX/APPX, APPV
Let’s focus on automation of the creation of actual packages. To transform your project into an MSI (MSIX/APPX or APPV), simply employ the following syntax and command:
Syntax:
“MsiGenerator.exe” [–parameter “value” ]
Usage:
“MsiGenerator.exe” build-msi –project “C:\PKG\Abc\project.mgp” -output-package “C:\PKG\Abc\package.msi”
The default installation path of MsiGenerator.exe is:
- x64 OS: C:\Program Files (x86)\PACE Suite\MSI Generator\
- x86 OS: C:\Program Files\PACE Suite\MSI Generator\
To automate building MSI, MSIX, APPX, and APPV packages, the following commands are used:
How to Build MSI
Parameters of the build-msi command:
- Mandatory parameter –project defines a path to the MGP project file from which the MSI package will be generated.
- Optional parameter –output-package defines a path and a name of the MSI file that will be generated. If the parameter is not set, the package will be generated in the \MSI with the file name .
- Optional parameter –msi-settings-profildefines the MSI settings profile, rules of which will be applied to the generated package. If the parameter is not set, the default profile will be used (MENU > Settings > General > Default profile).
- Optional parameter –product-name defines the Application name (displayed in the Application Details section of the Package tab for the MSI package format and saved to ProductName MSI property). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –product-version defines the Version (displayed in the Application Details section of the Package tab for the MSI package format and saved to ProductVersion MSI property). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –product-publisher defines the Publisher (displayed in the Application Details section of the Package tab for the MSI package format and saved to Manufacturer MSI property). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –product-publisher defines the Publisher (displayed in the Application Details section of the Package tab for the MSI package format and saved to Manufacturer MSI property). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –product-language defines the Product language in the LANG_ID format (displayed in the Application Details section of the Package tab for the MSI package format and saved to ProductLanguage MSI property). If the parameter is not set, the default value, obtained from the captured registry, will be used.
How to Build MSIX
Parameters of the build-msix and build-appx commands:
- Mandatory parameter –project defines a path to the MGP project file from which the MSIX/APPX package will be generated.
- Optional parameter –output-package defines a path and a name of the MSIX/APPX file that will be generated. If the parameter is not set, the package will be generated in the \AppX\Output with the file name .
- Optional parameter –display-name defines the Display name (displayed in the Display properties section of the Package tab for the MSIX package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –publisher-display-name defines the Publisher display name (displayed in the Display properties section of the Package tab for the MSIX package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –description defines the Description (displayed in the Display properties section of the Package tab for the MSIX package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –identity-name defines the Name (displayed in the Package identity section of the Package tab for the MSIX package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –identity-publisher defines the Publisher (displayed in the Package identity section of the Package tab for the MSIX package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –identity-version defines the Version (displayed in the Package identity section of the Package tab for the MSIX package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –capabilities defines capabilities that will be declared in the package manifest file. If the parameter is not set, no additional capabilities will be declared.
- Optional parameter –modification-for defines the package type (main or modification). If the parameter is not set, the main package type will be used.
- Optional parameter –supported-platforms defines the list of supported platforms (target device families) on which, the MSIX/APPX package could be run. See List of platforms. If the parameter is not set, the Windows 10 (Desktop) platform will be used.
- Optional parameter –sign-with-my-cert defines that the MSIX/APPX package will be signed with the specified user certificate. If the parameter is not set, the package will not be signed.
- Optional parameter –sign-with-autogen-cert defines that the MSIX/APPX package will be signed with the automatically generated self-signed certificate. If the parameter is not set, the package will not be signed.
- Parameter –compatible-architecture defines the compatible architecture for which the MSIX/APPX package. If the parameter is not set, the neutral architecture will be used.
- –app-installer is an optional parameter that defines if the AppInstaller file for deployment will be generated. If the parameter is not set, the AppInstaller file will not be generated.
Build App-V
Parameters of the build-appv command:
- Mandatory parameter –project defines a path to the MGP project file from which the APPV package will be generated.
- Optional parameter –output-package defines a path and a name of the APPV file that will be generated. If the parameter is not set, the package will be generated in the \App-V with the file name .
- Parameter –product-name defines the Application name (displayed in the Application Details section of the Package tab for the APPV package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- –product-version parameter defines the Version (displayed in the Application Details section of the Package tab for the APPV package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- –product-publisher defines the Publisher (displayed in the Application Details section of the Package tab for the APPV package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Parameter –description is optional and defines the Description (displayed in the App-V Package Options section of the Package tab for the APPV package format). If the parameter is not set, the default value, obtained from the captured registry, will be used.
- Optional parameter –appv-version defines the App-V version (displayed in the App-V Package Options section of the Package tab for the APPV package format). If the parameter is not set, the default value, the highest version will be used.
Test Package Automation
Command line options of Quality Approver allow to automate testing of MSI, MSIX, and APPX packages.
Syntax:
“QualityApprover.exe” [–parameter “value” ]
Usage:
“QualityApprover.exe” test-msi –vm “test-msi –vm –package “C:\Packages\package.msi” –output-report “C:\Reports\report.html”
- Command test-msi enables to test a batch of Windows Installer (MSI, MST) packages and their apps for compliance with the Desktop App Certification Program automatically in an unattended mode.
- Command test-msix allows to test a batch of MSIX packages (or bundles) and their apps against the Microsoft Store requirements automatically in an unattended mode.
- Command test-appx allows user to test a batch of APPX packages (or bundles) and their apps against the Microsoft Store requirements automatically in an unattended mode.
The default installation path of QualityApprover.exe is:
- x64 OS: C:\Program Files (x86)\PACE Suite\Quality Approver\App\
- x86 OS: C:\Program Files\PACE Suite\Quality Approver\App\
For testing packages, the following commands can be applied.
Test .MSI File
The mandatory parameters of the test-msi command include:
Test MSIX
The mandatory parameters of the test-msix and test-appx commands include:
Automation of Routine MSI Editing Tasks
Even though the following cannot be called automation in the full sense of the work, it still allows you to accelerate some routine tasks. For instance, to automate routine MSI editing, you can utilize the MSI Editor module within PACE Suite. Open the MSI you wish to modify and select “Active Scripting” from the dropdown menu.
In the subsequent window, you can choose from various scripts. For example, you can opt for the “Split Components” option.
This script is particularly valuable when dealing with numerous components, potentially saving you hours of manual work. Additionally, you can incorporate custom scripts to automate repetitive tasks.
The “Fix File Sequence” script can assist in rectifying disrupted file sequence numbers. While this can be done manually, it becomes far more efficient when dealing with hundreds or even thousands of files, making script automation a preferable choice.
Wrapping Up
In closing, PACE Suite transforms application packaging into a seamless, automated process. Whether you’re building MSI, MSIX, APPX, or APPV packages, PACE Suite ensures efficiency. Plus, the solution simplifies testing, assuring your packages meet top-notch standards. In addition, PACE Suite offers simple and convenient MSI file editing.