Windows Store sign up

Continuation of a discussion started in https://forum.xojo.com/36598-best-installers-for-windows

+1

In France, the status of Auto Entrepreneur is VAT exempt, so all Microsoft cares about, is a basic tax form containing one’s personal fiscal number (NOT VAT number). And I have no Microsoft certification whatsoever. Basically, the Windows Store works just like the Apple Store or the Google Play Store.

For evaluation versions, though, it is necessary to have in app purchase, and I have not had the time to see how to implement that.
https://msdn.microsoft.com/en-us/windows/uwp/monetize/in-app-purchases-and-trials#desktop

I have asked my Microsoft Rep about having free evaluation apps without any in app purchase. Will post when I have the answer.

Thanks for starting a new thread Michel. It seems like the Windows Store Sign-up is a topic for much discussion.

@Phillip Zedalis , you mentioned that InstallAware can also create UWP/AppX apps for the Windows Store. Have you been successful with submitting a Xojo App to the store?

@Michel Bujardet, what is the name of your app? I want to look at it within the store :slight_smile:

@David Cox , is it necessary to create the InnoSetup installer before making the AppX app, or can the ‘App Wrapper for the Windows Store’ make this for a Xojo program?

No, but it’s the simplest for three reasons:

  1. if you place you software on your non-Store web site, you will need to create an installer version anyway
  2. MS have built in this capability into the builder, so they are saving a lot of steps for you
  3. the alternatives involve either using Visual Studio to build the APPX or other commercial installers (read as expensive!)

MS build the APPX using a command line interface, so I am sure an ‘App Wrapper for the Windows Store’ is very possible. But why create a program when you can paste a couple of lines into a Terminal window. The motivation for ‘AppWrapper for the Mac AppStore’ is much greater as it is a much more complex operation on the Mac (e.g. sandboxing, icons, permissions, certificates, etc) while the Windows Store app has virtually no restrictions on the PC.

I posted the links here : https://forum.xojo.com/36287-xojo-apps-in-the-windows-store/0

You must make a silent installer when you use the Desktop App Converter. Innosetup or any other will do.

Advanced Installer is itself an installer maker, so as far as I understand it, it directly generate the Appx from the .exe.

I have noticed that it is possible to use a pre-built filesPackage directory structure for another app, once it has been generated by the Desktop App Converter.

So indeed creating a new Appx should just take dropping the new program together with his lib and resources folders, as well as eventually DLLs in there, then use MacAppx. The process would then be much simpler than the cumbersome DAC.

What I don’t quite grab is how the BaseImage accounts in compatibility with MakeAppx. Right now everything is Anniversary Edition build 14393, but what would happen is, say, I had an insider preview system 16401, and tried to build an Appx from a FilePackage that has 14393 system in it ?

I have not resumed receiving insider preview. I went through enough pain getting things done for 14393 to change now.

I am continuing to add to the GetAppInWindowsStorev1.pdf document and have a few more questions that I hope you can help me with:

  1. In one of the previous comments in another Xojo Conversation, someone mentioned adding the Xojo dll’s in the innosetup installer. Should the Microsoft Visual C++ Redistributable file also be included in the installer, or will Microsoft automatically install it with the AppX file?

  2. The MyNewApp.appx example that I created has an icon with a box and the letter ‘X’ through it. Does someone know how to add an icon while in the DesktopAppConverter process, or another part of the instructions? Not having this file will make the installer size smaller, and if it is necessary then I’ll continue to add it to the InnoSetup package.

  3. Where is a place to get a certificate that I can sign my application before it is uploaded to the store? A simple certificate was created in the DesktopApConverter step, and I am guessing that a registered certificate is needed?

Thanks!

  1. I could not get a precise answer about that, so I gather it does not hurt to add the VCdistribuable DLLs. That is what I did in my tests with 2016R3. Althought the apps I have at present in the store were produced with 2015R4.1 and do not contain it.

  2. The DAC will not add the tile images to your app. The way to proceed is to add them in the PackageFiles/Assets folder where by default you have three picture files called “SampleAppx” and the size.

Create your tiles in a graphic editor and save them with the same name at the same place, then when you generate a new AppX with MakeAppX, you will have the proper icons in the Start menu.

Note that the MakeAppx step is mandatory to actually get your app in the store. When you have created the app in there, at the bottom of the developer’s page is an item “App identity”, which contains all the identification of the app that must me entered in the AppManifest.xml file into the PackageFiles directory. Only when the appx has been constructed with this data will it be acceptable for the store.

  1. You don’t sign digitally for the store. Microsoft will do it.

I appreciate very much your efforts of providing a synthetic document.

Michel and David,

Here is the latest version of the GetAppInWindowsStore version 1.2 . I have added both of your names to the front page as contributors because of all of your insight and practical experience with the AppX process - Thank you.

I am assuming that the ‘App Identity’ file is located once the file has been uploaded to Microsoft? I checked my latest build and examples, and there is no file or directory with this name on my computer.

The next steps to add to this document are the steps for uploading and other information on the developer website. I am working on my application so that I have a ‘real’ application to submit. This may take some time though. To your knowledge, does Microsoft have a trial area where I can upload a ‘Hello World’ program?

Its a pleasure to work with the two of you on a project. This document helps everyone in the Xojo community. :slight_smile:

Feel free to let me know if there are errors or updates, and I’ll update the existing version.

Edit: Added comment on Synthetic Document.

App identity is a field in the app specs in the Windows Store, once you have created the reference there. It contains all the necessary data to enter in the app manifest prior to use MakeAppx to create the final executable. May I suggest you get your developer account so you have access to the dashboard and can start experimenting ?

Not that I know of. But what you can do is not release the app immediately.

At any rate, converted apps cannot be uploaded without being vetted first by a Microsoft rep.

You must sign up at https://developer.microsoft.com/en-us/windows/projects/campaigns/desktop-bridge#Publish and wait until a representative from Microsoft contacts you.

After that he will open a secure share on the Microsoft cloud where you can upload your test app. Don’t forget to add your self signed files so he can install on his machine to run your test app. Also, in my case, I had to add the VC 12 framework from https://blogs.msdn.microsoft.com/vcblog/2016/07/07/using-visual-c-runtime-in-centennial-project/ which was required by the converted app. It is not necessary in the store, but required for the test run. Depending on the app you may need VC 14 instead.

The rep will verify the app runs, and pass the case to the legal department, which will verify your credentials, before having you sign an addendum to the Windows Store standard contract, in order to enable you to upload full trust apps. Normally regular apps have a sanbox that limits access to the machine. Converted apps have full access, so they are kind of paranoid about not having malware uploaded.

I would suggest you open your Windows Store access to see how it works at the same time you submit, so you will already be familiar.

No need to have an extremely elaborate app at first. Beyond a hello world, I am sure you can come up with a small app that will serve as a test.

[quote=300220:@Eugene Dakin]Michel and David,
I am assuming that the ‘App Identity’ file is located once the file has been uploaded to Microsoft? I checked my latest build and examples, and there is no file or directory with this name on my computer.

[/quote]

The App Identity can be found under App Management > App Identity > Package/Identity/Name after you do the “Create a new app” procedure within the Dashboard. There you will also find the Publisher and Publisher Display Name which needs to be populated in the AppxManifest.xml file exactly.

Finally managed to get one of my apps up to the Windows Store approved and cleared certification. So here are some of my experience.

After the Windows Store developer sign up, you need to do another sign up at https://developer.microsoft.com/en-us/windows/projects/campaigns/desktop-bridge which will register you to be part of the win32 to Windows Store program. Make sure it is the same email address as the Windows Store developer sign up.

After a few days, someone from Microsoft will contact you via email to basically get you started. Few things would happen here.

First is that the Microsoft rep would require you to provide the App name and App Identity. Of course, there is no harm is providing the Publisher ID and Publisher Display Name which is also on that page.

Second is the rep would set up a secure area for you to upload your appx for vetting. In this case, you will need to create the self-signing certificate to sign the appx. At the same time, upload the public and private key which you use to sign the app so that he could vet it.

Third, he would send you an Addendum Contract to digitally sign. Then just wait for the appx to be approved. After which, you can submit through the app store submission process. The first app took about 3 days to get approved. Now waiting for the rest.

It’s seems like a complicating process but once you do it a few times, you get the hang of it.

Don’t forget to post a short description of your app in https://forum.xojo.com/36287-xojo-apps-in-the-windows-store/0

Would love to but it isn’t a Xojo based app .

Congratulations anyway. Welcome to the converted club :wink:

Thank you :slight_smile:

Thanks for your help through all of these steps Michel. I have just created an account and will start testing.

Sure, I’ll make a simpler application and then submit it to the store.

Thanks for sharing your experiences Edwin. Going through all of the steps the first time seems a little bit overwhelming, and I am sure it will be easier with practice.

Once a program is created to submit to the store then I’ll continue updating the pdf. :slight_smile:

Definitely do NOT get Xojo to add any MS Runtime DLL files next to the application. The installation process identifies what the necessary runtime files are needed and MS will ensure they’re there. Also, your APPX apps can only run on the latest Windows 10, so don’t bother including DLLs for older versions of Windows!

I would love to find a way to add these three graphics files during the DesktopAppConverter process, but haven’t found a way. I manually drag the three images in then rebuild the APPX.

You must NOT sign the APPX application that you’re sending to the store. My MS rep said it was optional, but my app was rejected if pre-signed, and accepted when not signed!
You ONLY need to sign if you’re going to side-load into your own Windows for testing. In this case the command line lets you build the certificate, then you need to install that certificate EVERY time (uhhhh, a big time waster!).

I am sure these steps will be reduced over time (like the MAS process was), but at least they are proven to work.

At any rate, you must use Appx in the final stage before uploading to the Windows Store, in order for it to have the proper references. The DAC will only create the PackageFiles you work from afterward.

Does this mean that I only include the exe without the Libs folder also?

How long did it take for the first application to be approved? My guess is that after all of the paperwork and initial vetting is finished then the second application will not typically take as long.

Certainly not. Actually, with 2016R3 I found out not only that the Lib folder is necessary, but also drag a copy of XojoGUIFramework32.dll next to the exe

https://forum.xojo.com/35836-failed-to-locate-framework-dll-in-centennial

Indeed, I don’t recall adding all the DLLs.

I had misspelled my email address, forcing the guy to chase me in msdn forums, so I have no idea how long it typically takes for the first app. Once the Microsoft rep finally contacted me, it took him less than a week to verify my apps, and I received and signed the addendum at the end of that week. Then I uploaded.

Note that each app subsequently must be vetted by your Microsoft rep apparently. I have no tried to upload directly, though.

@Michel Bujardet is correct. You must keep the Xojo Libs folder plus you need to copy XojoGUIFramework32.dll to the Parent folder (next to your exe), but don’t include the 40 Windows DLLs (from the Extras>Windows Runtime>Files folder), nor msvcp100.dll and msvcr100.dll.

Once a valid APPX is submitted it took a couple of days to be approved and a couple more to appear in the Windows Store. I still have the situation where I can search for my apps successfully, but they don’t appear in the listed pages for their category — maybe I need to pay $$ to MS!
Note that the store is not fully released yet — you must get pre-approval app-by-app before adding anything. So get your app idea approved by a MS rep BEFORE doing all this work!