From Desktop App to the Microsoft Store

Introduction


I've released one of my Windows 10 desktop (Win32, .NET, C#) apps on the Microsoft Store, the tool Version Explorer, I have a second submitted, and I'm working on adding a third. Now that I understand the process, it's not so complex, but getting that first app on the store was confusing and discouraging.

I started this journey months ago, finding time when I could; a half hour here, a few minutes there. And while I don't remember all of the details, I thought I'd recount what I do remember here for others who attempt this same process. It all started with the Desktop App Converter...

Desktop App Converter


It's deprecated now, and maybe it was when I started this project, I don't know, but when you research the subject, everything and everyone tells you to use the Desktop App Converter. Using it requires preparation and research, though, downloading not only the tool but also base images, and deciding if you're going to package an MSI or the just app itself, and more.

Output From The Desktop App Converter

It's largely command-line driven, complex, and confusing. It put me off completely, and made me want to forget the whole project. When I realized it was deprecated, though, I switched to the MSIX Packaging Tool.

MSIX Packaging Tool


The MSIX Packaging Tool provides a UI, which makes the process easier. I didn't spent much time with it though, because just like the Desktop App Converter, it requires your app to have an application installer, so it's in an MSI file, and the tool I was using to create the MSI included visual assets too large to be accepted by the MS Store.

MSIX Packaging Tool

I then found the Packaging Project...

Packaging Project


I finally found the Windows Application Packaging Project, which allows you to add a project to your Visual Studio solution, and that project includes the manifest information needed for the Microsoft Store. I first had to install the latest Windows 10 SDK, which can be easily done using the Visual Studio Installer. Once that was complete, I just had to add the packing project to my solution.

Adding the packaging project to my Visual Studio solution.

Add the packaging project, set Minimum version to 1809, and Target to whichever version you prefer.

I then did the following:


  • Right-clicked on Applications in the packaging project and selected Add Reference..., then checked my app's project as the reference and clicked OK
  • Double-clicked Package.appxmanifest in the packaging project and completed the various tabs, as outlined below

Application Tab

Display name - The name of the application

Visual Assets Tab

Under All Assets, Source, I used the browse button to find the PNG file that corresponds to the app's icon. I then checked "Apply recommended padding" and "Apply color conversion for Windows Light Theme" and clicked Generate.

I clicked OK at the prompt asking for confirmation to overwrite existing assets. Visual assets of various sizes are then generated using the supplied image as the basis for them all. Note that you can browse for each asset yourself, but I only had one PNG so I used it and had it generate the rest.

Overwrite the existing assets?

Packaging Tab


Package display name - The name the app should appear as in the store

Publisher display name - I used the name I'm doing business as, MaxLeafSoft

Next, it's time to create app packages.

Create App Packages

This is technically still part of the packaging project, but it's a separate process so I'm breaking it out on its own. To create the app packages, it's a matter of right-clicking the packaging project, opening the Store menu, and selecting Create App Packages...

Right-click on the packaging project, or select it then use the Project menu's Store sub-menu.

If there's already an entry for the app on the partner web site (more on that in a bit), it can be selected from the first page of the Create App Packages wizard, otherwise it's necessary to select "Microsoft Store under a new app name" and click Next. The next page should shows the current list of apps, and the "Reserve a new app name" field is for setting up a new app.

My next app!

Here I've entered the name of the third app I'm adding to the store, SQL Server DB Queries. After typing in the app name, I just click Reserve and wait for the response. If successful, the name is added to the list and the Next button's enabled. Click Next to continue to "Select and configure packages".


This is the last page of the wizard. I always take the defaults here, and click Create. This generates the packages. Once it's complete, I click the Launch Windows App Certification Kit and once it appears, I click Next. Once the tests are complete, this part of the process is complete!

I use the defaults, with all tests selected, and click Next.


Yes, they all passed! Click Finish to close the wizard.

The Partner Center

With that complete, it's time to check the solution's changes into source control and go to the Partner Center. I sign in with the same MSN account I've had for about two decades, so it doesn't require a special login.

Developer Settings


I'm not going to spend a lot of time on this but once logged in, a click on the gearbox icon in the upper right shows the following menu. When Developer Settings is clicked, the Account Settings page displays, with account type, status, publisher IDs, and contact info. It's important to update certain things here, such as "Contact info" and "Financial details".

Dev Settings

App Submission


With that complete, when I click on Overview from the left hand menu, it displays all of my apps. In this case I click on SQL Server DB Queries from the list, and then click on "Start your submission" to start the submission process.

Click Overview to get to the apps.

This presents a list of all of the activities necessary to complete before the app can be submitted for final certification testing.

Click on each item in the list to complete the process.

Pricing and availability

I click "Pricing and availability" to start the process. I usually stick with the defaults. In my case these are free apps, so for pricing I select Free from the pricing list and click Save. This results in the word Complete and a check mark for this item.

Properties


Here I pick a category for my app, and for SQL Server DB Queries, I'm selecting Developer Tools since most casual users have no use for a tool that performs queries on SQL Server databases. For the sub-category I select Database.

Next there's Support Info and it makes it sound like you have a choice between linking to a privacy policy or not, but I always select Yes and include a privacy policy URL, a website URL, and a support contact e-mail address.

I don't check either PC or HoloLens under "Display mode" since I'm not submitting a mixed reality application.

I use the defaults under "Product declarations".

Under "System requirements" I check Keyboard and Mouse as the required minimum hardware.

I then click Save.

Age ratings

My apps are all utilities that can theoretically be used by anyone, so I select what's appropriate, which results in a General rating.

Packages

Next, I click on Packages to upload the application packages. Visual Studio is supposed to be able to do this for me automatically, but it's never worked, which was a huge source of frustration. I use the Community versions of Visual Studio 2017 and 2019, and both failed to successfully upload the packages.

I click "browse your files" and find the .msixupload file in the packaging project's AppPackages folder. Once selected the file uploads to the Microsoft servers and is validated. I always leave "Let Microsoft decide whether to make this app available to any future device families" so it can decide which devices to make the app available for.

With that complete, I click Save.

Store listings

I click "English (United States)" since that's what my app targets, and here I can enter a description, what's new, add product features, and screenshots.

Under "Store logos", I always supply a single PNG file that's 1440x2160 pixels. This serves as the poster displayed with the app listing.

I always skip "Supplemental fields" but complete "Additional information".

Submit to the Store


App is ready to submit to the store

Once everything is complete, it's time to click Submit to the Store and hope the app passes the certification process! 

Conclusion

There were some things I omitted, like the rabbit hole I went down when I added an Azure user to the Tenants tab in Developer Settings and confused myself silly, and I still have some confusion about minimum system requirements. Do you have to have Windows 10 Pro? I paid $100 for it so I sure hope so.

I'm also confused about how to best test in Windows S mode, but I'm working through these issues one by one, and with my first app available and two more submitted, I should be well on my way to unleashing my apps on the unsuspecting world!

Regards,
Gary A. Lucero dba MaxLeafSoft

Comments

Popular Posts