-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
57 changed files
with
1,416 additions
and
600 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.