Hello, again!
As a hobbyist software developer, I want my applications to be easy to find on the web and easy to download by potential users. When I began developing my first application, KeyPress OSD, I was struck by what hurdles one can face. One of the biggest deterrents would probably be, in my case, malware and virus warnings.
Since Windows 8, Microsoft integrated its own antivirus application in the operating system and made it aggressive. It proactively tries to detect potentially harmful applications. In the past, users were allowed to easily download any application they found on the internet and just run or install it. Now, because of the security measures employed by Microsoft in Windows, it has become very hard to execute any random application you may download. Windows discourages users to run the downloaded app or can even prevent inexperienced users to run it at all.
Now, as a new software developer, I was very unhappy with the aforementioned situation. My applications were labeled and still are, as malware. It feels to me like small developers are shunned or outcasted by Microsoft in the name of security. How to solve this issue? As far as I know, there are two options: sign the binary files using purchased VeriSign or DigiCert certificates, or publish the applications on the Microsoft Store, introduced in Windows 8.
Because I am in a collaboration with Tablet Pro, I had the option to publish my applications on Microsoft Store. Thank you for this, Justice!
My experience with the Microsoft Windows Store is overall positive. It is pretty good, but this post would not be written if everything was positive ;). Humans like to point out the negatives, right?
Microsoft provides users, such as me, with a dashboard where one can manage the submitted applications and their store-front properties. When an application is submitted to be published on Windows Store, it undergoes several stages to be certified and published. Primarily, there are two stages: an automated one and a human-centric one (a person from Microsoft tests the app).
The automated certification process does not return detailed error logs.
I once submitted a package with a malformed DLL, but I was not aware of this. The error I received on the Windows Store dashboard was just: «bad EXE format», but it did not point on what file this error occurred. I e-mailed Microsoft Support numerous times, weeks have passed by, and no one was able to tell me exactly why my package was rejected. It amazed me they were unable to give me an answer. They kept on bouncing the responsibility between different teams.
One day I decided to remove from the .appx package one DLL at a time, and resubmit it to the store, until it no longer fails. I discovered that msvcr100.dll was malformed. I do not know how it got to be malformed. This happened in the context of a major new version of my app. I was packaging it with a new DLL that I wrote and compiled myself. I initially believed the culprit was my new DLL. However, it was not. I had to do stupid trial and error to get to successfully publish the new Church Bells Tower version.
Human error reports lack details or are misleading.
Recently, I submitted Quick Picto Viewer to the Windows Store and it got rejected. The dashboard error report said: «App Quality - Misleading Content; Information within the product or metadata does not accurately represent the product. Products need to have unique functionality and value in the Store». I e-mailed Microsoft Support to ask what they mean by that. They told me, and provided me with a screen shot, that the About panel does not say it is published by Tablet Pro. I found their reply utterly silly. My other apps do not explicitly mention Tablet Pro at About.
To be honest, before submitting it, I did not test QPV on my system in the «Windows Store» mode, because I was lazy. However, I decided to do so, and I discovered it was crashing the very moment one tried to open an image. One could argue the app quality is crap, indeed, but why did they not report this? They could have said in the initial report on the dashboard, and I would not have had to e-mail them about it. A simple message would have sufficed: «App crashes on image open». The reply I got from Microsoft Support was a confirmation that they treat their customers as fragile snowflakes. You cannot hurt your customers by telling them the truth, but it is totally fine to mislead them with euphemisms and irrelevant things.
Microsoft Store dashboard has bugs.
If one tries to reorganize resources, such as screen shots, it sometimes loses the images or messes up the image descriptions. Or, if you try to upload a new package, without deleting the older one first, you get unexpected results: the old package is not replaced or, you get no package at all, after Apply. I am using Firefox and maybe they do not care about making it work well on this browser.
On the positive side of things, when I developed an application for Tablet Pro, Microsoft Support was more than great. One of the guys from there, in his spare time, helped us develop a DLL that we needed.
In conclusion, I am happy at least I have a safe way to distribute my applications to potential users. No virus or malware warnings, and as a big plus, app updates are automatically handled by Windows Store. Overall, I cannot complain much. For now.
Best regards, Marius.