Squirrel / Squirrel.Windows

An installation and update framework for Windows desktop apps
MIT License
7.41k stars 1.03k forks source link

Package 'DeltaCompressionDotNet.1.1.0' does not exist in project Xxxxx (2.0.1) #1865

Closed khomin closed 1 year ago

khomin commented 1 year ago

Squirrel version(s) Squirrel.windows 2.0.1 Windows 10 with sdk for c++ development

Description Not working

Steps to recreate

  1. type in PM: 'Install-Package Squirrel.Windows'

Expected behavior I don't know I'm just trying this Squirrel

Actual behavior Something doesn't work

Additional information None

Screen Shot 2023-09-21 at 8 18 23 PM

Update: After researching i see that Squirrel supports only C# projects and without C# it is not possible to get ".nupkg" So i have decided to write auto-updater myself

anaisbetts commented 1 year ago

Installing Squirrel via NuGet will only work for C# projects, not C++ projects. You want to probably download the release Zip file and follow the documentation for "Squirrel for non-C# projects"

khomin commented 1 year ago

Installing Squirrel via NuGet will only work for C# projects, not C++ projects. You want to probably download the release Zip file and follow the documentation for "Squirrel for non-C# projects"

Thanks for the answer I did it already Unfortunately, I don't understand how this could work in C++ I'm convinced that it would be much cheaper to just write a qt updater rather than try to figure it out without proper documentation

anaisbetts commented 1 year ago

I'm convinced that it would be much cheaper to just write a qt updater rather than try to figure it out without proper documentation

Having spent years of my life on writing an updater, I can tell you this isn't the case 😂😂😂 Good luck though!

khomin commented 1 year ago

I'm convinced that it would be much cheaper to just write a qt updater rather than try to figure it out without proper documentation

Having spent years of my life on writing an updater, I can tell you this isn't the case 😂😂😂 Good luck though!

Hi, I think you're right Actually it works for me now Haven't tested updates yet though But it turned out i need an UI installer!

Hm, will it update itself If i pack files inside \AppData\Local\MyApp - into Inno Setup? Then Inno Setup can install it and create a link to .exe

anaisbetts commented 1 year ago

Uh I guess technically you could do that though I'm not sure why you would, unless you have a client that demands that you display a Wizard dialog

khomin commented 1 year ago

Uh I guess technically you could do that though I'm not sure why you would, unless you have a client that demands that you display a Wizard dialog

Thank you! I will try And another thing I spent about a day trying to figure out what to do (I use flutter and have bad experience with .net) Can we add a special note for cpp/flutter developers if I write one? With tips

anaisbetts commented 1 year ago

I have it On My List to write a dedicated Squirrel plugin for Flutter actually (https://github.com/anaisbetts/squirrel-flutter/) but the documentation for how to write these build-time tools is really sparse and Flutter kept breaking it

khomin commented 1 year ago

I have it On My List to write a dedicated Squirrel plugin for Flutter actually (https://github.com/anaisbetts/squirrel-flutter/) but the documentation for how to write these build-time tools is really sparse and Flutter kept breaking it

Hi I'm trying around, with flutter But i have strange out from stdout I see 33 66 100 + json Could you help how to obtain just json and what these number mean?

var res = await runUtil('Update.exe', [ '--checkForUpdate=https://www.myrul.net/squirrel' ]); setState(() { _checkResult = 'code=${res.exitCode}, stdout=${res.stdout}, stderr=${res.stderr}'; });

Screen Shot 2023-09-23 at 9 19 24 PM

Updated: I discovered that these numbers are a progress report! https://github.com/Squirrel/Squirrel.Windows/issues/1688

anaisbetts commented 1 year ago

Correct, if you pipe this into a Stream you can get download progress but if you don't care you can just gather the entire stdout and split on "\n" and grab the last line. https://github.com/arquivolta/desktop/blob/main/lib/platform/win32/wsl.dart#L13 might help you with streaming the output if you want to try to do this