Closed RandomEngy closed 2 years ago
If you are using 2.9:
master
branch (rather than the default develop
branch). ./build.cmd
)publish
, including the required single file exe's (such as Update.exe). SquirrelCli
project in DEBUG mode, it will automatically find Update.exe from that directory.Alternatively, if you have compiled Update.exe somewhere other than the default location, or wish to use pre-built binaries from a NuGet Package, you can tell Squirrel where to look by using the hidden --addSearchPath=
parameter.
I also inspected the built DLL with a disassembler and confirmed that the entry is there in the manifest.
Squirrel needs this manifest to exist in the final .exe that dotnet produces. You should verify with ResourceHacker or similar that the final native YourApp.exe has an application manifest containing the Squirrel string, and not just the DLL.
SquirrelAwareExecutableDetector.cs is where you'll find the manifest detection code.
Thanks, this worked perfectly. Found the root cause of my problem, which is that a newer version of dotnet
did not accept multiple properties in the same command-line argument to publish, so it wasn't using the publish profile and files were missing from the pack directory.
I'm getting this error after upgrading Visual Studio to 17.3:
VS 17.3 still seems to work on a brand new project just fine so it's something with my particular project. But I definitely have the
<SquirrelAwareVersion xmlns="urn:schema-squirrel-com:asm.v1">1</SquirrelAwareVersion>
in my app.manifest like before, and<ApplicationManifest>app.manifest</ApplicationManifest>
in my project file. I also inspected the built DLL with a disassembler and confirmed that the entry is there in the manifest.I figured that I might be able to download the source and debug to see why exactly it's not detecting it anymore, though it's crashing:
Is there a simple way to get the locally built CLI to run?