MSIX support introduced in Insider Build 17682
Published Jun 08 2018 11:11 AM 9,868 Views
Microsoft

We are excited to announce that starting with Build 17682, the Windows client platform supports MSIX! With this build, you can try many of the MSIX features we showed at BUILD. For example, you can package, bundle and sign applications with our tools. In addition, you can distribute with auto updates through the Appinstaller file.

 

This is only the first stage in our MSIX journey, and we are excited to share it with you early and to gather your feedback! In subsequent stages we are working to add Store support and richer tools, to give you the finest experience transitioning to MSIX, creating new MSIX apps and maintaining existing MSIX apps!

 

To create and package apps for client-side testing, you can now use  the associated Windows SDK. Specifically, to create a MSIX package, use the MakeAppX Tool, which now supports MSIX!

 

To get instructions on running MakeAppx with MSIX, run this command:  <makeappxLoc>\makeappx.exe /?

 

Here's a sample output:

 

<navigate to makeappx location>

 .\makeappx.exe /?

Microsoft (R) MakeAppx Tool

Copyright (C) 2013 Microsoft.  All rights reserved.

 

Usage:

------

    MakeAppx <command> [options]

 

Valid commands:

---------------

    pack        --  Create a new app package from files on disk

    unpack      --  Extract an existing app package to files on disk

    bundle      --  Create a new app bundle from files on disk

    unbundle    --  Extract an existing app bundle to files on disk

    encrypt     --  Encrypt an existing app package or bundle

    decrypt     --  Decrypt an existing app package or bundle

    convertCGM  --  Convert a source content group map (CGM) to the final content group map

    build       --  Build packages using a packaging layout file

 

For help with a specific command, enter "MakeAppx <command> /?"

 

 

<navigate to makeappx location>

 .\makeappx.exe bundle /?

Microsoft (R) MakeAppx Tool

Copyright (C) 2013 Microsoft.  All rights reserved.

 

Usage:

------

    MakeAppx bundle [options] /d <content directory> /p <output bundle name>

    MakeAppx bundle [options] /f <mapping file> /p <output bundle name>

    MakeAppx bundle [options] /d <content directory> /ep <encrypted output bundle name> /kf MyKeyFile.txt

    MakeAppx bundle [options] /f <mapping file> /ep <encrypted output bundle name> /kt

 

Description:

------------

    Creates an app bundle at <output bundle name> by adding all files from

    either <content directory> (including subfolders) or a list of files within

    <mapping file>.  If either source contains a bundle manifest, it will be

    ignored.

 

    Using /p will result in the bundle being unencrypted, while using /ep will

    result in the bundle being encrypted. If you use /ep you must specify

    either /kt or /kf.

 

Options:

--------

    /bv: Specifies the version number of the bundle being created. The version

        must be in dotted-quad notation of four integers

        <Major>.<Minor>.<Build>.<Revision> ranging from 0 to 65535 each. If the

        /bv option is not specified or is set to 0.0.0.0, the bundle is created

        using the current date-time formatted as the version:

        <Year>.<Month-Day>.<Hour-Minute>.<Second-Millisecond>.

    /mo: Generates a bundle manifest only, instead of a full bundle. Input

        files must all be package manifests in XML format if this option is

        specified.

    /fb: Generates a fully sparse bundle where all packages are references to

        packages that exist outside of the bundle file

    /kf: Use this option to encrypt or decrypt the package or bundle using a

        key file. This option cannot be combined with /kt.

    /kt: Use this option to encrypt or decrypt the package or bundle using the

        global test key. This option cannot be combined with /kf.

    /o, /overwrite: Forces the output to overwrite any existing files with the

        same name. By default, the user is asked whether to overwrite existing

        files with the same name. You can't use this option with /no.

    /no, /noOverwrite: Prevents the output from overwriting any existing files

        with the same name. By default, the user is asked whether to overwrite

        existing files with the same name. You can't use this option with /o.

    /v, /verbose: Enables verbose output of messages to the console.

    /?, /help: Displays this help text.

 

Examples:

---------

    MakeAppx bundle /v /d "C:\My Files" /p MyBundle.msixbundle

    MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /p MyBundle.msixbundle

    MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /p MyBundle.msixbundle /fb

    MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /ep MyBundle.emsixbundle /kf MyKeyFile.txt

    MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /ep MyBundle.emsixbundle /kt

 

    MakeAppx bundle /v /d "C:\My Files" /p MyBundle.appxbundle

    MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /p MyBundle.appxbundle

    MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /p MyBundle.appxbundle /fb

    MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /ep MyBundle.eappxbundle /kf MyKeyFile.txt

    MakeAppx bundle /v /o /bv 1.0.1.2096 /f MyMapping.txt /ep MyBundle.eappxbundle /kt

 

Format of mapping files:

------------------------

    Mapping files must begin with a line containing the string "[Files]",

    followed by lines describing the packages to add to the bundle. Each file

    is described by a pair of paths in quotation marks, separated by spaces

    or tabs, representing its source (on disk) and destination (in bundle).

 

Example mapping file:

---------------------

    [Files]

    "C:\MyApp\MyApp_x86.msix"                 "MyApp_x86.msix"

    "C:\Program Files (x86)\ResPack.msix"    "resources\resPack.msix"

    "\\MyServer\path\ResPack.msix"           "Respack.msix"

    "my app files\respack.msix"              "my app files\respack.msix"

 

    [Files]

    "C:\MyApp\MyApp_x86.appx"                 "MyApp_x86.appx"

    "C:\Program Files (x86)\ResPack.appx"    "resources\resPack.appx"

    "\\MyServer\path\ResPack.appx"           "Respack.appx"

    "my app files\respack.appx"              "my app files\respack.appx"

 

Format of key files:

------------------------

    Key files must begin with a line containing the string "[Keys]",

    followed by lines describing the keys to encrypt the package with. Each key

    is described by a pair of strings in quotation marks, separated by spaces

    or tabs. The first string represents the base64 encoded 32-byte key ID and the second string

    represents the base64 encoded 32-byte encryption key.

8 Comments
Version history
Last update:
‎Mar 02 2022 05:07 PM
Updated by: