clowd / Clowd.Squirrel

Quick and easy installer and automatic updates for cross-platform dotnet applications
427 stars 39 forks source link

File or Directory not found #175

Closed mklierman closed 1 year ago

mklierman commented 1 year ago

I'm trying to use Clowd.Squirrel on a build agent and keep running into 1 of 2 errors.

If I use Nuget.exe to package the project first and then use the Releasify command, Squirrel gives this error: [ERRO] Argument 'package': Expected file to exist at this location but no file was found

If I use the Squirrel --Package command I get the error: [ERRO] Argument 'packDirectory': Expected directory to exist at this location but none was found

In both cases I've verified that the file or directory exist already.

mklierman commented 1 year ago

Looks like it didn't like the signing args I am using. Odd that it gives those errors, though

andersforsgren commented 1 year ago

Struggling with the same issue. Did you find a way of sorting it out @mklierman?

mklierman commented 1 year ago

Yes, @andersforsgren . As I said in my follow-up comment it didn't like the args I was using for signing. Enclosing those args in quotes resolved the issue.

andersforsgren commented 1 year ago

Thanks. I spent halt a day on escaping that today and in the end I changed into using a temporary script file. When the sign args consist of multiple parts they must be enclosed in double quotes and some of those parts will be paths with spaces (cert file path) which in turn must also be enclosed with (escaped) double quotes. I couldn’t get it working.

It would be good to add/update the unit test in Clowd.Squirrel to test a realistic arg parsing scenario for the signing args e.g parsing

—signArgs “/f \”C:\path to\cert.pfx\” /p password”

But before I can add such a test in a PR I’d need to make sure it can be done at all…