Feckmore
Feckmore

Reputation: 4714

Is it possible to package and deploy a Unity3d app using Squirrel for Windows installer?

I just discovered what seems to be a very nice, minimal installer called Squirrel for Windows from a dotNetConf 2015 video.

The opening documentation sounds fairly inclusive as to what can be packaged:

Squirrel is both a set of tools and a library, to completely manage both installation and updating your Desktop Windows application...

However, everything I've seen in the documentation and elsewhere points towards requiring an existing .NET application in Visual Studio.

Can the build files targeting the Windows platform in Unity3d be packaged using Squirrel?

Upvotes: 0

Views: 1153

Answers (1)

Mark Walker
Mark Walker

Reputation: 279

Should be fine. I've got it working without an existing .NET application, in fact, at the moment I don't have Visual Studio installed. You will need the .NET runtime, but squirrel itself seems to ensure that (though I think I already had it).

I haven't built and posted the releases yet, but my Qt project builds fine from the command line. (I used the atom project as an example, they also aren't a Visual Studio project).

I logged what I did in a blog post: http://markwal.github.io/programming/2015/07/28/squirrel-for-windows.html

But basically:

  1. Install the standalone nuget.exe (#4 download link): http://docs.nuget.org/consume/installing-nuget
  2. Install squirrel.windows release from github: https://github.com/Squirrel/Squirrel.Windows/releases
  3. Create a .nuspec file describing the project (as per the docs on github, tell nuspec everything belongs in lib/net45, don't worry, it won't install there and it doesn't mean you're building a .NET app.
  4. Run nuget.exe on that nuspec to make a nupkg
  5. Run Squirrel.exe --releasify on that nupkg

Should make a releases folder with a setup.exe in it. That's all that needs to be in the release. The other stuff there (full and delta nupkgs) are for posting on a server for auto updating. In the documentation skip the stuff about loading the assembly and registering for events. For non .NET everything happens through command line arguments, so scroll down farther in the docs.

Upvotes: 3

Related Questions