Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Velopack Go

Go Reference Go Report Card

It's easy to distribute Go desktop applications with automatic updates!

  1. Add this module to your project:

$ go get github.com/quaadgras/velopack-go

  1. Add automatic updates to your project:

Here's as a one-liner, that will download updates in the background and apply them the next time the application starts up:

go velopack.DownloadUpdatesInTheBackground("https://the.place/you-will-host/updates")

Alternatively, you can also develop your own update function:

package main

import "github.com/quaadgras/velopack-go/velopack"

func init() {
  velopack.Run(velopack.App{
  	AutoApplyOnStartup: true,
  })
}

func update() error {
	manager, err := velopack.NewUpdateManager("https://the.place/you-will-host/updates")
	if err != nil {
		return err
	}
	latest, status, err := manager.CheckForUpdates();
	if err != nil {
		return err
	}
	if status == velopack.UpdateAvailable {
		if err := manager.DownloadUpdates(latest, func(progress uint){
			// show progress to the user
		}); err != nil {
			return err
		}
		if err := manager.ApplyUpdatesAndRestart(latest); err != nil {
			return err
		}
	}
	return nil
}
  1. Follow the official Velopack guide to package your application for distribution.

https://docs.velopack.io/packaging/overview

Quick Start

vpk pack --packId "MyCompany.MyApp" --packVersion "0.0.0" --packDir path/to/build --mainExe executable.name -o /local/place/for/updates/and/releases

About

Go Language Support for Velopack Automatic Updates

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages