Building AppX Packages
InstallAware may build your setups aspackages, beginning with InstallAware version X5.
Packages built are compatible withand later. Packages may be built on and later. The following requirements apply to setup projects being built:
- At least one file and shortcut must be defined in your setup project, or the conversion will fail.
- Your setup project version must be specified using exactly four digits, such as 184.108.40.206 (this tool does automatically append additional digits where possible).
The following considerations apply to the build process:
- All files and registry keys you are installing as part of your existing setup will be built.
- The tool will intelligently parse file system and registry paths and attempt to replicate the exact structure found within your installation.
- The tool will parse all shortcuts defined in your installation, add them all to your APPX package, and also offer you to choose one shortcut as your APPX entry point application.
- The tool will parse file type definitions in your installation and add them all to your APPX package. Please note that if you have specified file types in your setup manually using Write Registry commands instead of the dedicated Create File Type/Advertised File Type commands, the tool will not recognize such file type definitions automatically. In this scenario, simply replace such Write Registry commands with native Create File Type/Advertised File Type counterparts, and run this tool again after saving your changes.
- Where possible, script variables, such as path variables, will be replaced with their literal values, intelligently resolving to states meaningful for the build process.
- Compiler variables will be substituted with their literal values as found in your InstallAware project file.
- Conditional compilation (excluding parts of your scripts based on compiler variable values) is supported beginning with InstallAware version X6 Creators Update.
- All of your include scripts will be processed.
- Any conditions on script execution will be ignored.
- Your APPX package will be built in 32 bit mode or 64 bit mode based on the bitness of your installation.
- Code signing your APPX package will make use of your own code signing certificate file as stored in your project Build Settings.
- Where your project Build Settings include the option, the contents of your APPX package will be code signed according to the regular meaning of that build option. Please note that the code signing of the actual files being packaged inside your APPX is not controlled by the command line and/or user interface options discussed below; these options only apply to the code signing of the external APPX package itself, and not its contents.
To start thetool, click the , and choose .
Building an APPX Package
Start building your APPX package by following the steps below:
- Enter the full path to the InstallAware project to build as an APPX package in the field.
- Click the button to begin the build process.
- In the next few moments, the conversion process merges all your setup scripts and parses project content.
Continue creating your APPX package following the sections below.
Select Entry Point Shortcut
In thedialog, choose the shortcut to execute when the button is clicked in your APPX setup after installation on target systems.
Lists the user visible name of the shortcut.
Check the box next to the shortcut to publish as your APPX package entry point. This shortcut becomes the target of thebutton displayed in the for your package. Other shortcuts will still be accessible on the target system on the .
Lists the native file system folder containing the application launched by the shortcut, to help you identify the correct shortcut during the selection process (actual native file system locations are not accessible from APPX package shortcuts).
AppX Package Name
Enter the file name of your APPX package file in this field (without any file extension).
Save Converted Package To
Enter the full path of the folder to save your APPX file in this field. You may type in a new folder path, and it will be created automatically.
If you will be submitting your application to the, choose .
To create a, supporting deployments, choose .
To include both kinds of package extensions in your APPX file, choose. Do not select this option if you are planning to submit your application to the .
You may override the default minimum and maximum operating system versions your package supports for the platform(s) you have selected by deselecting thecheck-box, and manually populating the and fields for the relevant platform(s).
Distribution and Attributes
Chooseif you will be submitting your package to the . packages cannot be code signed using your own code signing certificate, or they will not be accepted into the . Your APPX package will be automatically signed by as part of your submission process.
Choose Build Settings have disabled code signing.if you will be providing your package directly to your end-users for manual installation. packages must be code signed using your own code signing certificate, or end-users will not be able to install them. It is therefore not recommended that you check the box for these types of packages, unless you plan to manually code sign your APPX package after building it. Please note that even if the option is checked, your APPX package will still be unsigned if your project
This section contains values which are critical to theacceptance of your package. These values must be typed, or copied and pasted, exactly as they are found in your developer account.
As of this writing:
- If you don't already have a https://developer.microsoft.com/en-us/store/register. developer account, you may create one at
- If you already have your developer account ready, log in to your account at https://developer.microsoft.com/en-us/dashboard/apps/overview, and select the application you are building the APPX package for using the drop-down menu, located immediately below your .
- If you wish to create a new application, or are creating an application for the first time, click https://dev.windows.com/en-us/dashboard/Application/New where you begin by reserving the name for your application.
- Once your application overview is showing (for an existing or newly created application), expand the menu, and choose the submenu to access the required values below.
When building for the MyCompany.MyProduct., type, or copy and paste, the exact value shown in the section of your app's page. This field is of the form
When building for Product Name found in your project settings will be used., specify a unique alphanumeric string in this field. Where omitted, the
When building for the CN=3144A47C-6DFC-444D-8779-BB78B5A9ABB4., type, or copy and paste, the exact value shown in the section of your app's page. This field is of the form
When building for Subject field of your code signing certificate, or code signing will fail. Leave this field blank to allow the automatic retrieval of this information from the code signing certificate referred to in your Build Settings., and code signing is enabled, you may leave this field blank. If not left blank, this field must exactly match the value found in the
When building for Manufacturer found in your project settings will be used to populate this field. If you plan to code sign your APPX package after initially building it without code signing, ensure to enter the exact value found in the Subject field of the code signing certificate which will be ultimately used to sign your APPX package, or the signing will fail., code signing is disabled, and this field is blank, the
When building for the My Company., type, or copy and paste, the exact value shown in the section of your app's page. This field is of the form
When building for Manufacturer found in your project settings will be used., specify your company name this field. Where omitted, the
When building for the My Product. Upon acceptance, your application will be displayed in the using the value assigned in this field., type, or copy and paste, (one of) the name(s) you reserved for your product. This field is of the form
As of this writing, you reserve names for your application by choosing thesubmenu underneath the menu for your application.
If you have reserved more than one name for your application, type the name you wish to associate this APPX package with. You may later rebuild your APPX package with one of the other names you have reserved, at any time you wish to change the display name of your application in the.
When building for Product Name found in your project settings will be used., specify your product name this field. Where omitted, the
This section contains values which are cosmetic in nature.
Type the optional, user friendly description of your package here.
Type, or click the JPEG or PNG logo for your package. This logo will be shown when your package is being installed.button to select a
When unspecified, a default InstallAware logo will be used.
The logo dimensions are typically 50x50.
Persisting Package Settings
After filling in the required details above, clicking thebutton completes APPX package creation and builds your package to the specifications obtained from your source InstallAware project and the details supplied in this tool.
Your settings will be automatically saved into a (new) file with your project name as the file name, and the string literal MPRX as the file extension. When you run this tool in the future, default settings will be loaded from this file, to help accelerate rebuilding the package without having to re-enter all of the individual package creation settings.
Building AppX Packages from the Command Line
You may also run thetool from the command line. Every field of the tool has corresponding command line parameters.
The first command line parameter must always be the full path to the InstallAware project file to build (withfile extension). If any of your command line parameters include spaces, remember to enclose them within double quote signs on the command line.
The remainder command line parameters may be provided in any order and are described below.
Case sensitive and optional.
Indicates the file name of the APPX package.
|output:||APPX package build folder. May specify a new, non-existent folder.|
|desktop||Add /desktop, /server, and /both are all unspecified.extensions to the APPX package. Required for submission to the . This parameter is implied as the default extension type to use when|
|server||Add extensions to the APPX package. Required for support. Incompatible with submissions.|
|both||Add both and extensions to the APPX package. Incompatible with submissions. Please note that you must use /both instead of using /desktop and /server together on the command line.|
|minverdesktop:||Applicable when major.minor.build.revision, where each part is a number in the range 0 to 65535. The default value is 10.0.14393.0, implied when this parameter is unspecified.extensions are enabled. Overrides the default minimum operating system version to target with the APPX package in the form|
|maxverdesktop:||Applicable when major.minor.build.revision, where each part is a number in the range 0 to 65535. The default value is 10.0.15063.0, implied when this parameter is unspecified.extensions are enabled. Overrides the default maximum operating system version to target with the APPX package in the form|
|minverserver:||Applicable when major.minor.build.revision, where each part is a number in the range 0 to 65535. The default value is 10.0.14393.0, implied when this parameter is unspecified.extensions are enabled. Overrides the default minimum operating system version to target with the APPX package in the form|
|maxverserver:||Applicable when major.minor.build.revision, where each part is a number in the range 0 to 65535. The default value is 10.0.15063.0, implied when this parameter is unspecified.extensions are enabled. Overrides the default maximum operating system version to target with the APPX package in the form|
|sideload||Build the APPX package for sideloading. Incompatible withsubmissions.|
|store||Build the APPX package for submission to the . This parameter is implied as the default target when neither /sideload nor /store is specified on the command line.|
Skips code signing the APPX package with your code signing certificate (as obtained from your project Build Settings). This parameter is implied when /store is specified or implied. Not recommended when /sideload is specified, as sideloading requires packages to be signed using your own code signing certificate.
|identity:||Evaluated exactly as the Package/Identity/Name field described above.|
|publisher:||Evaluated exactly as the Package/Identity/Publisher field described above.|
|publishername:||Evaluated exactly as the Package/Properties/PublisherDisplayName field described above.|
|packagename:||Evaluated exactly as the Product Name field described above.|
|description:||The optional user friendly description of your APPX package.|
|logo:||The optional full path to the JPEG or PNG logo file of your APPX package.|
As long as parameters other than the first command line parameter are specified, the build begins immediately and non-interactively, even in the case of missing parameters. This enables the tool to participate in unattended builds, possibly as part of a larger automated build process, such as batch files.
When parameters are missing, defaults are obtained from the persisted package settings file with the MPRX file extension described above. Where settings are missing in that file, or the file does not yet exist; defaults are sourced from your Project Settings and Build Settings where possible.
Building from the command line does NOT commit any changes to the MPRX file.
UwpAppXConv.exe "C:\my installers\my setup.mpr"
In the above example, the tool will prepare to build the setup project at the location. Because no additional switches have been specified, the actual build will not begin until end-user interaction.
UwpAppXConv.exe "C:\my installers\my setup.mpr" /name:PackageName "/output:c:\my installers\appx" /identity:MyCompany.MyProduct /publisher:CN=3144A47C-6DFC-444D-8779-BB78B5A9ABB4 "/publishername:My Company" "/packagename:My Product"
In the above example, the tool will immediately build the setup project at the location My Product, under My Company's account, where the package name identity is MyCompany.MyProduct and the package publisher identity is CN=3144A47C-6DFC-444D-8779-BB78B5A9ABB4., into an APPX file at the location . The folder specified will be created automatically as part of the build process, if it does not already exist. The APPX will be built for submission to the , using the reserved product name
The tool returns the following codes to indicate success/failure:
- 0: Process completed successfully
- 1: Invalid or missing command line parameter(s)
- 2: Error during process