Squirrel.windows: Squirrel --releasify does not create Setup.exe or RELEASES file

Created on 15 Jun 2017  路  11Comments  路  Source: Squirrel/Squirrel.Windows

I am running Squirrel via Powershell from an Octopus Deploy step and find that while the nuget package is copied across to the release directory neither the Setup.exe nor the RELEASES file are created there, which is what I was expecting.

Is there a way to debug squirrel --releasify to check if there is something going wrong under the covers?

```powershell
$nugetPackage = Join-Path $OctopusParameters['Octopus.Action[Deploy Nuget Package].Output.Package.InstallationDirectoryPath'] "MyAppSquirrel.$($version).nupkg"
$squirrel = Join-Path $OctopusParameters['Octopus.Action[Deploy Squirrel Package].Output.Package.InstallationDirectoryPath'] "toolssquirrel.exe"
$releaseDir = $OctopusParameters['Release_Dir']

.$squirrel --releasify $nugetPackage --releaseDir $releaseDir

All 11 comments

Is there also some way of troubleshooting the RELEASES file not being updated? I have copied Setup.exe into the releases folder and added a RELEASES file but executing the code above doesn't result in the RELEASES file being updated.

I have this problem also.

Used 1.6.0, building via Teamcity and releasifying with Octopus. I've had it working for a long time and as soon as I updated, the only thing visible in release folder is the nuget package that releasify copies and normally renames to -full.

If I check the logs, it seems like releasify fails once and then runs all the way (signing and what not) until its time to create the setup.exe and RELEASES. I have tried to start with an empty directory and switched between all versions of Squirrel between 1.6.0 and 1.7.6 and nothing but 1.6.0 works.

I've checked the documentation and spent some time in squirrel's sourcecode, but cannot figure out if we're missing something or if something is broken.

Our application is quite big and would benefit greatly from the faster deploy and we are also having other issues that we believe can be resolved with 1.7.6.

This is the script that we are running in powershell. All variables get valid content, as it is working in 1.6.0.
Exec {
Squirrel.com --releasify " $nupkg" --framework-version net461 --no-msi -r "$deployPath"
-i "$currentDir\app.ico" -g "$currentDir\Splash.gif"
-n "/a /f $certPath /p $certPassword"
} -retry 2

I started having the same problem, not using Octopus - just Squirrel accessed via PowerShell; am now also having the same problem if I try to run Squirrel from the Package Manager console via VS2017, so I can't even run it manually at the moment.

I have this issue after I upgraded to squirrel 1.7.5. I am running squirrel on my local Jenkins instance running under windows 7. looking at the logs I found that releasify can't extract the nuget package in order to create Setup.exe , the workaround I found is to create this folder C:\Windows\System32\configsystemprofile\AppData\Local\SquirrelTemp\tempa.
I hope this help

I was having same issue on 1.7.7. I think the issue was a space in the folder path to my source. I remapped my workspace and it started working again. I think the path for the signtool needs to have quotes around it when launched.

We have seen the same type of errors related to a build agent tied to the System account trying to write to C:\Windows\System32\config\systemprofile\AppData\Local\SquirrelTemp\. In our case it was on a TeamCity build.

We were able to resolve this by adding a SQUIRREL_TEMP environment variable in TeamCity to point to a temp directory in the teamcity build path (i.e., add env.SQUIRREL_TEMP with a value of %teamcity.build.workingDir%\SquirrelTemp). You can add an environment variable to the build process under the TeamCity Build Configurations > Parameters section.

I have this exact issue, but it successfully uses a custom temp directory (set via the Environment variable detailed above), but only yields the RELEASE file and the package, not the setup.exe file, using 1.7.9.

I found my issue. I had GitKraken in my path so that I could launch it from a PowerShell alias. This also has squirrel.exe in it, but not any of the other files.

That's weird that GitKraken would have "Squirrel.exe" in the path and not "Update.exe". Anyways, you should always use a full path in your build scripts to the Squirrel tool

@paulcbetts Yeah I was just following the getting started guide, but I was using real PowerShell not the VS Package Manager snap-in. The reason that's in my path is because it sits next to the main gitkraken exe, which I was using for an alias. Thinking of just pointing at that explicitly now anyway.

Might be worth raising a ticket with Axosoft if they're not utilising squirrel correctly ;-)

As for the build tools, yes that's the plan. I am hoping to use it via Cake Build which will take care of tool locations for me, believe I saw a Squirrel add-in.

Same issue using Gitlab (runner, aka build agent, running as LocalSystem). Workaround to create C:\Windows\System32\configsystemprofile\AppData\Local\SquirrelTemp\tempa sort of solved the problem.

The RELEASES and Setup.exe files are now being created. However both the setup.exe and nupkg files are very small.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

estyfen picture estyfen  路  4Comments

frederikolsen88 picture frederikolsen88  路  4Comments

CodeFunta picture CodeFunta  路  6Comments

patrickklaeren picture patrickklaeren  路  4Comments

don-smith picture don-smith  路  5Comments