Search code examples
exceldeploymentcertificatevstoclickonce

Publishing VSTO Add-in on github pages


I have develop a VSTO Excel Add-in with C#. And I have prepared docs using mkdocs deployed on github pages. So two seperated git repositories.

Goal

What I want to achieve is that users (a very limited number of them, btw) will be able do

  1. Download installer from my github pages docs
  2. Install
  3. Recieve updates automatically (from github pages URL)

My attempt

So, my current workflow is as follows:

  1. I publish my solution through VS. I publish it directly to the docs/files/ folder (my publishing folder according to VS), so the users have access directly to the .exe and .vsto. The installation URL is set to my github pages.
  2. I think I am signing the clickonce manifest and the assembly with my test certificate.
  3. Deploy github pages with publish files from VS

enter image description here

And that's it. The files are there. I can download the installer.

The issue I can't fix

Local

  1. I clean the VS solution.
  2. Download the executable from my github pages (as normal users will)
  3. Install.
  4. WORKS!

A different computer

  1. Download the executable.
  2. Try to install, but the installer complains that
Customized functionality in this application will not work because the certificate used to sign the deployment manifest for AddIn or its location is not trusted.

Question

I don't want to pay for a certificate, just so that a handful of users could use this add-in. Is there anything I can do so the users will be able to install it anyway? Or should I just forget about any user being able to install months of my work?

EDIT:

What's also weird is that I can remove the installation path, publish with VS, copy publish directory to USB, transfer to a different computer and install without a problem. I just don't get it anymore.


Solution

  • The error means what it says - the certificate you used is not trusted, so you need to ask your users to install your certificate first before they install your VSTO addin.

    If you don't care about the private key in the PFX file, you can just make it available. Or you can export just the public key.