Client application/Squirrel

Peter Hageus's Avatar

Peter Hageus

10 Jun, 2015 06:32 AM

Hi. Is anyone using Squirrel ( for client application deployment? I've only found this thread, and it leaves a lot of open ends.

What I need to do:

Deploy the client application to the server.
The .config file should be processed by Octopus
The clients should autoupdate against their local server, getting the .config and new binaries.

I now have a home-hacked solution for this, but it's not very robust, and I think Squirrel addresses most of the issues.

Their Nuget conventions differ (Squirrel needs everything in lib/net45), so we can't really reuse the octopus package either. The flow would be:

Install package on server
Create new nuget from another nuspec
Run Squirrel releaseify
Move to known location on server.

This seems very convoluted to me, especially creating a new, different nuget. Have looked at forking Squirrel making it run against a folder instead, but I can't really justify the time it would take (and would also make versioning, dependencies, etc, hard)

Has anyone worked this out, or are there other solutions I'm missing? (running a tentacle on each client doesn't seem like the right solution, besides we have no guarantee they are even connected to the internet at all sites)

  1. 1 Posted by Peter Hageus on 10 Jun, 2015 06:46 AM

    Peter Hageus's Avatar

    P.S This isn't so much an Octopus question as a general question to the community.

  2. 2 Posted by Den on 25 Jan, 2016 09:58 AM

    Den's Avatar

    Actually it's an Octopus question. Let's not pretend that .NET developers are not developing native apps anymore. Where is proper support?

  3. 3 Posted by Peter Hageus on 25 Jan, 2016 11:13 AM

    Peter Hageus's Avatar

    Well, afaik Octopus has never promised to deploy to client machines, only server.

    Implemented the hack above btw, and it's slow and error prone, but works ok-ish. (did not modify squireel, made a command line app instead. Could probably be turned into a ps-script by someone more skilled than me)

  4. 4 Posted by josh.williams on 02 Dec, 2016 05:26 PM

    josh.williams's Avatar

    I've implemented a custom solution for this. It also feels hacky, but it does work consistently. Basically our TeamCity server builds the binaries, including everything needed for releasify to work. Releasify is actually ran in the deployment process, and the results are put on the web server for clients to pull the latest version. You are right though, it's very convoluted. I plan on re-vamping soon. I will do a write up on it (one day when I get time).

  5. Paul Stovell closed this discussion on 08 Mar, 2017 03:53 PM.

  6. Peter Hageus re-opened this discussion on 21 Feb, 2018 08:58 AM

  7. 5 Posted by Peter Hageus on 21 Feb, 2018 08:58 AM

    Peter Hageus's Avatar

    An update in case someone comes across this: My solution now uses Cake to re-package and call Squirrel releasify. This could probably be wrapped up in a reusable Octopus step template. Will have a look at that when I have more time.

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:


Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac