Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for MSIX #12

Open
Samuel12321 opened this issue Aug 25, 2022 · 12 comments
Open

Support for MSIX #12

Samuel12321 opened this issue Aug 25, 2022 · 12 comments

Comments

@Samuel12321
Copy link

currently supports EXE and MSI apps, needs to also support MSIX

@LanceMcCarthy
Copy link

Until this is supported, you can use the StoreBroker module, it uses the same credentials.

See how I do it here => https://github.com/LanceMcCarthy/MediaFileManager/blob/cb3e5f41e20e0d611a99405f22478242a7b748e3/.github/workflows/cd_release_msstore.yml#L110

TL:DR - It's accomplished with three commands https://github.com/LanceMcCarthy/MediaFileManager/blob/main/.scripts/SubmitToMsftStore.ps1

  1. Set-StoreBrokerAuthentication
  2. New-SubmissionPackage
  3. Update-ApplicationSubmission

@0x5bfa
Copy link

0x5bfa commented Mar 30, 2024

@LanceMcCarthy Do you know if https://github.com/LanceMcCarthy/MediaFileManager/blob/main/.scripts/sbConfig.json this file is for overwrite? or should write everything I need?

@LanceMcCarthy
Copy link

@0x5bfa that file contains the store settings for your app. The info isn't part of the build, instead it is used with the Store Broker as app Metadata.

If you remember the first time you publish the app, you need to make a bunch of selections? That's basically what the json file does when you programmatically upload a new version through the API.

So, to answer your question, you need to make sure your version of the file matches your app's store options

@0x5bfa
Copy link

0x5bfa commented Mar 30, 2024

Yeah but I just had to set monetize options and age rating options in the first time. Since then from second submission draft I had only had to upload msixupload/appxupload with higher version and then click Submit button in Partner Center.
I was wondering if I have to do them everytime(I mean write them in the json file). Thank you for your quick reply btw.

@LanceMcCarthy
Copy link

LanceMcCarthy commented Apr 2, 2024

@0x5bfa Ah, I see, you have not created the json file yet. I generated it with the tool and never tried uploading without it. AFAIK, but I do think it is required.

I never had to manually create it, the broker will generate it for you based on what you already have in Partner Center. See https://github.com/microsoft/StoreBroker/blob/master/Documentation/USAGE.md#creating-your-application-payload and follow through the instructions.

image

See all of the instructions here https://github.com/microsoft/StoreBroker, but dont let the amount of text scare you. IT looks like a lot the first time, but after you read it once and follow it, it is super easy to use.

@eythaann
Copy link

Until this is supported, you can use the StoreBroker module, it uses the same credentials.

See how I do it here => https://github.com/LanceMcCarthy/MediaFileManager/blob/cb3e5f41e20e0d611a99405f22478242a7b748e3/.github/workflows/cd_release_msstore.yml#L110

TL:DR - It's accomplished with three commands https://github.com/LanceMcCarthy/MediaFileManager/blob/main/.scripts/SubmitToMsftStore.ps1

1. `Set-StoreBrokerAuthentication`

2. `New-SubmissionPackage`

3. `Update-ApplicationSubmission`

@LanceMcCarthy thanks to your answer I will be able to create my own pipeline to upload my msix to the Store. 🥳

@azchohfi
Copy link
Contributor

You can also use the Microsoft Store CLI (github action "microsoft/setup-msstore-cli@v1")
It supports both MSI and MSIX, and uses the same credentials (app secret or cert, which can be stored on a key vault).
PowerToys does that:
https://github.com/microsoft/PowerToys/blob/8b8c75b9a54a342660ce8475989ef283fe39e8fe/.github/workflows/msstore-submissions.yml#L42-L54
Then call this:

msstore publish myapp.msix --appId XXXX

@LanceMcCarthy
Copy link

You can also use the Microsoft Store CLI (github action "microsoft/setup-msstore-cli@v1")
It supports both MSI and MSIX, and uses the same credentials (app secret or cert, which can be stored on a key vault).
PowerToys does that:
https://github.com/microsoft/PowerToys/blob/8b8c75b9a54a342660ce8475989ef283fe39e8fe/.github/workflows/msstore-submissions.yml#L42-L54
Then call this:

msstore publish myapp.msix --appId XXXX

I second this. Back when I originally wrote the store script, the CLI was not available. Now that we have the CLI tooling, it is a bit cleaner because you don't need ps modules.

@eythaann
Copy link

You can also use the Microsoft Store CLI (github action "microsoft/setup-msstore-cli@v1") It supports both MSI and MSIX, and uses the same credentials (app secret or cert, which can be stored on a key vault). PowerToys does that: https://github.com/microsoft/PowerToys/blob/8b8c75b9a54a342660ce8475989ef283fe39e8fe/.github/workflows/msstore-submissions.yml#L42-L54 Then call this:

msstore publish myapp.msix --appId XXXX

I will try it.

@0x5bfa
Copy link

0x5bfa commented Jul 25, 2024

@LanceMcCarthy Sorry for the delay and thank you for the detailed info!

I'm making a workflow but I couldn't create credentials via neither partner center nor azure portal (is it because azure account is free version?).
Did you follow this? https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-static-site-github-actions
0x5bfa/FluentHub#497

@LanceMcCarthy
Copy link

LanceMcCarthy commented Jul 26, 2024

@0x5bfa Yeah, you need AAD (Azure Active Directory) credentials, see https://github.com/microsoft/store-submission?tab=readme-ov-file#prerequisites. Essentially this is a "service principal" user who acts on behalf of an identity.

Just follow these instructions => https://github.com/microsoft/store-submission?tab=readme-ov-file#obtaining-your-credentials. This approach is a bit strange going through it for the first time, or for someone who has only ever used a single user account's authentication, but you get used to it eventually.

IMPORTANT NOTE: It is not called "Azure AD" anymore, instead it is "Microsoft Entra". So if you see "AAD" or "Azure AD', just replace it in your in with "Entra"

@0x5bfa
Copy link

0x5bfa commented Aug 21, 2024

Thank you! It worked!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants