Skip to content

whitone/clickonce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

godoc reference build status go report card license

clickonce

The clickonce package allows to download a ClickOnce application.

Example

Just import the library and set the URL of the ClickOnce application you want to download.

import "github.com/whitone/clickonce"

co := &clickonce.ClickOnce{}
co.Init("https://my.cool.webserver/clickonce.application")

Then you can dump the remote contents related to requested application with the following method.

err := co.GetAll()
if err != nil {
  log.Fatal(err)
}

And then, for example, you can check the content type and path of all deployed files.

for dPath, dContent := range co.DeployedFiles() {
  fmt.Printf("%s: %s", dPath, http.DetectContentType(dContent))
}

If you want to save in a directory the application files, just set the output directory. If that directory not exists, will be created.

co.SetOutputDir("application")

If you need only some files from the application, just define your subset.

err := co.Get([]string{"application.exe", "library.dll"})
if err != nil {
  log.Fatal(err)
}

To get more info about the progress of your request, you can enable verbose mode by passing your logger to the library.

logger := log.New(os.Stdout, "", log.LstdFlags)
co.SetLogger(logger)

Useful references

License

clickonce is licensed under the BSD-3-Clause License.