An installation and update framework for Windows desktop apps
This release switches our Zip file generation to using a combination of 7-Zip and SharpCompress, which drastically speeds up running releasify. This also paves the way for the installer to use more efficient compression schemes such as LZMA2
--no-delta
flag--releasify
can now specify which version of the .NET Framework that Setup will require during initial install.
Squirrel --releasify --framework-version net462 ./myfile.nupkg
Thanks @NeilSorensen!
While using non-Semver versions in your NuGet package was always incorrect and resulted in undefined behavior, due to #868, these are now a full non-starter. We now require packages to have Semver-compatible versions names. Note that this doesn't affect your EXE versions, which can still use all four Win32 version numbers.
Bug Fixes:
--processStart
in the argumentsWhile Squirrel.Windows's approach of moving around executables and rewriting shortcuts is the key feature that enables background updates without rebooting / restarting, it also conflicts with Windows's View Of The World in a lot of annoying ways. Things like pinning, file associations, etc etc end up being tricky to handle with the current approach of using Update.exe as a trampoline.
Now, Squirrel will scan your package for executables and create a "dummy" copy of this executable - one with the same icon and version metadata, but will instead run a copy of the latest version of the Real version of the executable. Instead of shortcuts pointiing to Update.exe, it'll point to this executable.
Note that for the first release after you upgrade to 1.5.0, stub executables won't be copied in, since the update will be done by the previous version of Squirrel.Windows which is stub-unaware. The existing Update-based shortcuts will continue to work though.
This PR allows you to use Windows 10 App Activation, which is required for features such as Win10 notification replies. A activator CLSID will be generated based on your app's NuGet package ID, which will be written out to the log. Implement your activator class using this GUID.
Bug Fixes:
SQUIRREL_TEMP
to install to (#846, thanks @LennartAJansson)Bug Fixes:
lib/net45
which would trip MAX_PATH on certain apps (#792, thanks @damieng)