Unfortunately, some existing software for which source code is not available that we want to package as MSIX uses "short-names" (e.g. "Progra~1") in some of their file requests. When running this app, it is necessary for the app to find a crucial file that exists in the package by using the short-name, and this is an issue. But a small change in the AppInstaller could resolve many of these issues.
When AppInstaller lays down the package under WindowsApps, it creates folders and files as needed. The package format does not contain any short-names, and what happens is that created folders get their typical short-name generated on disk using the normal formula (first match gets ~1, second ~2, etc). However, the file portion does not get a short-name written. This should be automatic.
Yes I'm aware that we could get mis-ordering of the ~#'s (a problem best solved the way App-V did it by generating unique short-names at packaging and bring those along in the package), but just getting AppInstaller to generate the short-names on those files would be helpful and likely solve compatibility for several vendor apps (often, the short-name request happen due to COM).