Skip to content

Commit

Permalink
Merge remote-tracking PR #532
Browse files Browse the repository at this point in the history
  • Loading branch information
anaisbetts committed Jan 11, 2016
2 parents 11f09ef + 0fe19da commit 66ae056
Show file tree
Hide file tree
Showing 57 changed files with 1,416 additions and 600 deletions.
53 changes: 19 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,40 @@
| README.md |
|:---|

![](docs/artwork/Squirrel-Logo.png)

# Squirrel: It's like ClickOnce but Works™

Squirrel is both a set of tools and a library, to completely manage both installation and updating your Desktop Windows application, written in either C# or any other language (i.e. Squirrel can manage native C++ applications).
Squirrel is both a set of tools and a library, to completely manage both installation and updating your Desktop Windows application, written in either C# or any other language (i.e., Squirrel can manage native C++ applications).

Squirrel uses NuGet packages to create installation and update packages, which means that you probably already know most of what you need to create an installer.

## Getting Started
## What Do We Want?

Check out the [user documentation](/docs) for how to use Squirrel. A good place to start reading is the [Getting Started page](/docs/getting-started.md), which includes a Quick Start guide.
Windows apps should be as fast and as easy to install and update as apps like Google Chrome. From an app developer's side, it should be really straightforward to create an installer for my app, and publish updates to it, without having to jump through insane hoops.

## What Do We Want?
* **Integrating** an app to use Squirrel should be extremely easy, provide a client API, and be developer friendly.
* **Packaging** is really easy, can be automated, and supports delta update packages.
* **Distributing** should be straightforward, use simple HTTP updates, and provide multiple "channels" (a-la Chrome Dev/Beta/Release).
* **Installing** is Wizard-Free™, with no UAC dialogs, does not require reboot, and is .NET Framework friendly.
* **Updating** is in the background, doesn't interrupt the user, and does not require a reboot.

Refer to our full list of goals for [integrating, packaging, distributing, installing, and updating](docs/goals.md).

Deployment and Updates for Desktop applications are a real drag. ClickOnce almost works, but has some glaring bugs that don't seem like they'll ever be fixed. So let's own our own future and build a new one.
## Documentation

Windows apps should be as fast and as easy to install and update as apps like Google Chrome. From an app developer's side, it should be really straightforward to create an installer for my app, and publish updates to it, without having to jump through insane hoops
See the documentation [Table of Contents](docs/readme.md) for an overview of the available documentation for Squirrel.Windows. It includes a [Getting Started Guide](docs/GettingStarted/0-index.md) as well as additional topics related to using Squirrel in your applications.

#### Installation

* Install is Wizard-Free™ and doesn't look awful (or at least, it should have the *possibility* to not look awful)
* No UAC dialogs, which means....
* ...installs to the local user account (i.e. under `%LocalAppData%`)
* Uninstall gives a chance for the application to clean up (i.e. I get to run a chunk of code on uninstall)
* No Reboots. None!
* Can pull down the .NET Framework if need be
## License and Usage

#### Updates
See [COPYING](COPYING) for details on copyright and usage of the Squirrel.Windows software.

* Updates should be able to be applied while the application is running
* At no time should the user ever be forced to stop what he or she is doing
* No Reboots. None!
* The client API should be able to check for updates, receive a (preferably in HTML) ChangeLog

#### Production

* Generating an installer given an existing .NET application should be really easy, like it is for ClickOnce
* Hosting an update server should be really straightforward as well, and should be able to be done using simple HTTP (i.e. I should be able to host my installer and update feed via S3)
* Creating an update for my app should be a very simple process that is easily automated
* Support for multiple "channels" (a-la Chrome Dev/Beta/Release)

#### Building Squirrel

For the Impatient:

```sh
git clone https://github.com/squirrel/squirrel.windows
git submodule update --init --recursive ## THIS IS THE PART YOU PROBABLY FORGOT
.\.nuget\nuget.exe restore
msbuild /p:Configuration=Release
```

Squirrel.Windows is a fairly typical C# / C++ project, the only special part is making sure to clone submodules via the command above.

## How can I get involved?

Check out https://github.com/Squirrel/Squirrel.Windows.Next/issues/9 for more information about joining the Squirrel Slack room
52 changes: 0 additions & 52 deletions docs/advanced-releasify.md

This file was deleted.

66 changes: 0 additions & 66 deletions docs/api.md

This file was deleted.

Binary file added docs/artwork/Squirrel-Logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 66ae056

Please sign in to comment.