microsoft / microsoft/msix-packaging

[BUG] makemsix pack: msix does not exist.

Open
#676 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs-Triage
Dominant language
C
Stars
1.1k
Forks
193
Avg merge
2h 16m
Merged PRs (30d)
2

Description

Project
MSIX SDK

Describe the bug
When attempting to run makemsix pack -d **REDACTED** -p out.msix on windows the following error occurs:

file: \\?\C:\Users\**REDACTED**\Debug\net9.0\out.msix does not exist.
Call failed in C:\Users\**REDACTED**\msix-packaging\src\inc\internal\FileStream.hpp on line 26

The error even occurs if I make an empty out.msix file before running makemsix pack

It looks like it is attempting to read the output file and then throwing an exception when it doesn't exist yet. Which is odd considering it's supposed to be the output of the program.

To Reproduce
Steps to reproduce the behavior:

  1. Build makemsix with ./makewin.cmd x64 --pack (also observed on x86)
  2. Create an AppxManifest.xml file:
<?xml version="1.0" encoding="utf-8"?>
<Package
    xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
    xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
    xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10">
    <Identity Name="**REDACTED**"
              Version="1.0.0.0"
              Publisher="CN=**REDACTED**"
              ProcessorArchitecture="x64"/>
    <Properties>
        <DisplayName>**REDACTED**e</DisplayName>
        <PublisherDisplayName>**REDACTED**</PublisherDisplayName>
        <Description>**REDACTED**</Description>
        <Logo>logo.png</Logo>
    </Properties>
    <Resources>
        <Resource Language="en-us"/>
    </Resources>
    <Dependencies>
        <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0"
                            MaxVersionTested="10.0.22631.4751"/>
    </Dependencies>
    <Capabilities>
        <rescap:Capability Name="runFullTrust"/>
    </Capabilities>
    <Applications>
        <Application Id="**REDACTED**"
                     Executable="**REDACTED**.exe"
                     uap10:RuntimeBehavior="packagedClassicApp"
                     uap10:TrustLevel="mediumIL">
            <uap:VisualElements DisplayName="**REDACTED**"
                                Description="**REDACTED**"
                                Square150x150Logo="logo.png"
                                Square44x44Logo="logo-small.png"
                                BackgroundColor="#464646"/>
        </Application>
    </Applications>
</Package>
  1. Run makemsix pack -d AppxDir -p out.msix

Expected behavior
No error occurs and the msix is successfully created

Platform
Windows

Additional context
I'm using makemsix instead of makeappx because my eventual goal is to get this building entirely in a Debian environment for continuous deployment, but doing initial testing on windows. I was able to build an msix file in my linux environment, but I just got "Error in parsing the app package." when I tried to install it in my windows environment.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the Windows failure by building with ./makewin.cmd x64 --pack and running makemsix pack -d AppxDir -p out.msix. Start at src/inc/internal/FileStream.hpp line 26 and follow the pack command's output-file handling. Done means the command creates out.msix without reporting that the output file does not exist.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.