How to Host ClickOnce Installer on GitHub

This is a guide on how to deploy a ClickOnce installer on GitHub Pages, it's an updated version based on the previous work done by RefactorsaurusRex.

Here are the steps needed
  1. Create a GitHub Pages
  2. In the GitHub Pages create an "Installer" folder.
  3. Create a .gitattributes file in the "Installer" folder. Add the following codes to the file
    • *.manifest binary
    • *.application binary
    • *.deploy binary
    • *  -text
  4. Get the URL of the "Installer" folder on your GitHub pages, it will be used later as the "Installation Folder URL". It should look something like https://raw.githubusercontent.com/{your-account-name}/{your-repo-name}/gh-pages/Installer/ (please make sure that you commit the application to the gh-pages branch, it will not work if you commit to other branches like main, develop, etc)
  5. Switch to Visual Studio > Build. Follow this video guide to publish your ClickOnce application. Use the "Installation Folder URL" you get in step 3 as the Update Location & Installation Folder URL. Refer to the screenshots below.
  6. Copy and paste the published application to your GitHub Pages - "Installer" folder. Do take note that "gh-pages" will be the branch where we publish the installer.
  7. Commit and push the changes to GitHub.
  8. To get the download link of your installer (that you can share with the users), follow this pattern. https://github.com/{your-account-name}/{your-repo-name}/raw/gh-pages/Installer/setup.exe
  9. Done

Please take note that the URL link is case sensitive on GitHub

Comments

  1. "In the GitHub Pages create an "Installer" folder."
    How can I do that?

    ReplyDelete
    Replies
    1. I meant create a folder name "Installer". So, just do it as like how we normally do to create a folder.

      Delete
  2. Thanks for the informative article. This is one of the best resources I have found in quite some time.
    Ethical Hacking training
    PHP Training in Chennai
    Dot net Training in Chennai
    SEO Training in Chennai

    ReplyDelete
  3. I don't have much idea about this, this is why I don't wanna misguide to anyone. I'll discuss this with experts of Assignment Writing Services and talk after a while.

    ReplyDelete
  4. I have followed the steps to create the Installer folder and uploaded/committed the setup.exe app.application and Application Files folder to the Github Installer folder. When I use the URL for the setup.exe, it runs, but then gives me an error that I can't seem to get rid of: it fails to download the app.application file to carry out the install/upgrade. What am I missing? Here is the error from the log, with some info masked in brace brackets:

    URLDownloadToCacheFile failed with HRESULT '-2146697208'
    Error: An error occurred trying to download 'https://github.com/{account name}/Deploy/raw/gh-pages/Installer/{app}.application'.

    ReplyDelete
  5. Spent the day on this. Github now guides you to creating a gh-pages site (https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site) which results in a repository of the form yourname/yourname.github.io

    Follow the instructions above, and in your ClickOnce build specify https://github.com/youraccountname/yourname.github.io/raw/main/Installer/

    Make sure you get that 'raw' in there. GitHub's version of the location has 'tree': that won't work, as I spent the day finding out

    ReplyDelete
  6. I made a video for this:
    https://youtu.be/iMEGtrjMXPU

    Use it for free deployment on GitHub.

    ReplyDelete
  7. buy youtube views PlayStations are an enjoyment hub for their players to go into a virtual world of awesome graphics and sound technologies. If you are playing racing games on PlayStation 2, you will feel that you are driving a car in actual environment. PS2 racing games are one of best which come up with full of enjoyment and virtual reality.

    ReplyDelete
  8. You will never know the answer if you don't take the conscious effort to find out. Therefore, you need to stay up-to-date and create a plan that combats latest threats. Online Master's in cybersecurity

    ReplyDelete

Post a Comment

Popular posts from this blog

Some Cool New Programming Libraries

Waking Up Earlier. Three Months Reflection