none
confused about certificates RRS feed

  • Question

  • I have a desktop app (C++ MFC-based developed with VS2019) which I am thinking of trying to sell through the Microsoft store. I aim to package it using Visual Studio (or possibly MSIX) but in initial trials I have come up against a requirement for a certificate. I have not done this before, and am a bit confused. Do I have to buy a code-signing certificate before I can sell my app through the store? They seem to be quite expensive and I have no idea whether my app (a specialised education tool) might be successful or not. The store documentation talks about the store itself running apps through some certification process, but is this just functionality testing, or does it provide the certificate that is being talked about?

    Thanks for any help, or links to something that explains this. I have looked at the MS documentation fairly carefully, but so far have not found a clear explanation.

    Bill

    Saturday, August 24, 2019 9:53 AM

Answers

  • Hi Bill,

    For certification question, just associate your Windows Application Packaging Project with the Store before packaging it with VS.In general, Dashboard will accept your package without requiring certification.If you encounter the error, please feel free to post here(Don't include any personal info).

    Best regards

    Daisy  Tian


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Marked as answer by William Heitler Wednesday, September 11, 2019 6:21 PM
    Tuesday, August 27, 2019 3:09 AM
    Moderator

All replies

  • Hi Bill,

    >Do I have to buy a code-signing certificate before I can sell my app through the store?
    No, you needn't. I will give you the steps to publish your app which packaged with Visual Studio to Store .
    1.Create a package with Visual Studio
    2.Associate your app with the Microsoft Store
    3.Create an app package upload file
    4.Make a app submission
    5.Tips for publishing your Desktop Bridge applications on the Microsoft Store

    >The store documentation talks about the store itself running apps through some certification process, but is this just functionality testing, or does it provide the certificate that is being talked about?
    Could you give me the link of the document? I need the link to analyze your question.

    Best regards

    Daisy  Tian


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, August 26, 2019 3:04 AM
    Moderator
  • Hi Daisy,

    Thank you very much for responding. I am encouraged to hear that I do not need to purchase a separate certificate. However, I am still a bit confused about the actual process. I'll describe the steps I have taken so far in the hope that you are prepared to give more help.

    I have written the app, added the Windows Application Packaging Project, and got Visual Studio showing the Package.appxmanifest in the form of a multi-tabbed wizard, as described in your first link: "8. Use the Create App Packages wizard to generate an .msixupload/.appxupload file."

    I followd the link Create App Packages above to get help on the Visual Studio wizard, and this took me to the page "Package a UWP app with Visual Studio" (https://docs.microsoft.com/en-us/windows/msix/package/packaging-uwp-apps).

    At step 3 of the "Configure an app package section", just below the screen-capture image of the wizard itself, it says "From the Packaging tab ... This is where you can choose which certificate to use to sign your app. All UWP apps must be signed with a certificate.  [my emphasis]... Starting in Visual Studio 2019, a temporary certificate is no longer generated in UWP projects. To create or export certificates, use the PowerShell cmdlets described in this article."

    The PowerShell "this article" link has a section Create a Self Signed Certificate which says "A self-signed certificate is useful for testing your app before you're ready to publish it to the Store. Follow the steps outlined in this section to create a self-signed certificate. ... Self-signed certificates are strictly for testing. When you are ready to publish your app either to the store or from other venues, switch the certificate to reputable source [my emphasis] Failure to do this may result in the inability for your app to get installed by your customers."

    So as far as I understand it, this states that I need a certificate, that I can generate a self-signed one for testing, but that I need one from a "reputable source" before I send the app into the store.

    HOWEVER, back on the "Package a UWP app with Visual Studio", just after the note giving the link to PowerShell, there is a box that says

    "Important: If you're publishing your app in Microsoft Store, your app will be signed with a trusted certificate for you [my emphasis] This allows the user to install and run your app without installing the associated app signing certificate."

    So putting this all together, the instructions are saying that I need a certificate to submit to the store, that it should not be the self-signed one used for testing, BUT that the store will generate a certificate for me.

    So do I just submit the app with a self-signed certificate? Or should I submit with no certificate at all (will this be allowed?). At what stage does the store generate the certificate? Altogether, I am confused as to what is actually needed.

    Thank you for any help. Sorry if I am missing something obvious.

    Bill Heitler




    and the link about PowerShell

    But a little


    Monday, August 26, 2019 12:01 PM
  • Hi Bill,

    For certification question, just associate your Windows Application Packaging Project with the Store before packaging it with VS.In general, Dashboard will accept your package without requiring certification.If you encounter the error, please feel free to post here(Don't include any personal info).

    Best regards

    Daisy  Tian


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • Marked as answer by William Heitler Wednesday, September 11, 2019 6:21 PM
    Tuesday, August 27, 2019 3:09 AM
    Moderator
  • Hi Daisy,

    Thank you for your help. Associating with the store before packaging did the trick in getting me a certificate. At least, so far so good - I have only sideloaded the app on my own computer for testing so far.

    I have another question. Maybe I should post it separately, but I'll ask it just in case you are monitoring this reply.

    My app implements F1-style help, and for this the exe has to access the chm file. (This actually used to have built-in support in the VS project wizard for MFC projects a few years back, and I've kept it going in my app.) How do I include the chm file in the package so that it gets installed in the same directory as the exe? I have it working fine with a standard MSI file (built with Wix) which installs my app in Program Files (x86), but I don't even know where to begin with the VS packaging process. It would also be nice to have the installation include some some sample files that the user could access, but again, I have no idea how to do this using the VS facility.

    Any help would be much appreciated.

    kind regards,

    Bill

    Wednesday, September 11, 2019 6:40 PM