3

A couple of basic questions regarding MSIX packages and their manifest files:

  1. A MSIX package can contain multiple Applications. What identifies something as an "Application", rather than just an executable? An executable that is a component by itself? Has its own shortcut/uninstall?
  2. Does the manifest file dominates what the package does or does not install/deploy? For example, suppose I have an MSIX package that contains and installs 2 Applications. If I change nothing else, but simply remove one of the Applications from the manifest file, re-sign the package, will the package now install only the other Application?

Appreciate the help.

San Zhang
  • 155
  • 2
  • 9

1 Answers1

5
  1. An MSIX package can contain multiple applications, but applications in MSIX reffer to "shortcuts" if you want to think of them like this. Applications are the shortcuts that appear in start menu. Of course, you can capture multiple applications in your MSIX package (vlc, notepad, etc) and create one big MSIX package, but i don't recommend that.

  2. Yes, everything that happens on the system is defined in the AppxManifest, but you can't specify what to install/deploy. If you capture 2 applications (vlc and notepad) you cannot chose during installation that you want only VLC installed. There are no such options. Of course you can leave all the files in the package, delete the Application entry in the manifest, and the user will only see VLC for example, but the MSIX will install the files for both Notepad++ and VLC on the machine, which again i don't recommend. Keep in mind that almost everything is stored in the AppxManifest file: startuptasks, FTAs, services, app alias, app extensions, firewall rules, etc.

Think of it like this, if you recapture VLC Media Player, it has 3 shortcuts. Each shortcut represents an Application: an application to VLC.exe, and two other applications to VLC.exe and additional arguments.

Alex Marin
  • 174
  • 1
  • 6
  • Thank you Alex, and sorry about the late response. Although the last paragraph was kind of confusing to me, your answer did help me understand MSIX a lot more, I will accept it. The reason I asked my question 1 was because I was using Microsoft MSIX Packaging Tool to convert an existing msi, in which there are 2 programs, each has their own shortcut, icon etc. I guess my question should've been "What is being used by Microsoft MSIX Packaging Tool to determine whether or not an exe in the given msi is considered an Application". – San Zhang Dec 14 '20 at 04:18
  • @Alex Marin what is your recommandation to pack multiple msix in one installer ? InnoSetup ? – sinsedrix Sep 22 '22 at 10:29
  • @sinsedrix if you want a free solution you can use the Packaging Project template from Visual Studio (even the free community edition), but you will need to do some manual tweaking to get it buit. If you want to save time and have a budget, start with the Professional edition of [Advanced Installer](https://www.advancedinstaller.com/). You will get to build the package much faster as the tool automates most of your work, compared to microsoft's tooling. I don't know if Inno has support for msix, I doubt it. Disclaimer: I work on the team building Advanced Installer. – Alex Marin Mar 21 '23 at 09:52