Squirrel / Squirrel.Windows

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

Releasify not creating -full package file #539

Closed bkCDL closed 5 years ago

bkCDL commented 8 years ago

I just upgraded my Squirrel version to 1.2.1.

I tried to run the "releasify" command after my app rebuild as follows: Squirrel --releasify ..\App.1.0.0.5.nupkg -n "/a /f SHT-CodeSign-2015.pfx /p ##### " -r ..\Releases

But I get this error:

2016-01-04 09:41:11> Program: Starting Squirrel Updater: --releasify ..\App.1.0.0.5.nupkg -n /a /f SHT-CodeSign-2015.pfx /p #####  -r ..\Releases
2016-01-04 09:41:11> Program: Bootstrapper EXE found at:E:\CDL\App\App\App\packages\squirrel.windows.1.2.1\tools\Setup.exe
2016-01-04 09:41:11> Program: Creating release package: E:\CDL\App\App\Releases\App.1.0.0.5.nupkg
2016-01-04 09:41:11> ReleasePackage: Creating release package: E:\CDL\App\App\Releases\App.1.0.0.5.nupkg => E:\CDL\App\App\Releases\App-1.0.0.5-full.nupkg
2016-01-04 09:41:11> ReleasePackage: Couldn't find file for package in .: NuGet.Commands
2016-01-04 09:41:11> Unhandled exception: System.Exception: Couldn't find file for package in .: NuGet.Commands
   at Squirrel.ReleasePackage.<>c__DisplayClass22_0.<findAllDependentPackages>b__2(PackageDependency dependency)
   at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Squirrel.ReleasePackage.findAllDependentPackages(IPackage package, IPackageRepository packageRepository, HashSet`1 packageCache, FrameworkName frameworkName)
   at Squirrel.ReleasePackage.CreateReleasePackage(String outputFile, String packagesRootDir, Func`2 releaseNotesProcessor, Action`1 contentsPostProcessHook)
   at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi)
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)

It looks like it's not creating the "App.1.0.0.5-full.nupkg" file in the "Releases" directory.

Any thoughts why this might occur?

Bryan

AnderssonPeter commented 8 years ago

Im having the same problem, but with GoogleAnalyticsTracker.Simple instead of NuGet.Commands. I added GoogleAnalyticsTracker.Simple in my latest version of the package.

2016-07-18 15:31:36> Program: Starting Squirrel Updater: --releasify=FooBar.2.0.0.5.nupkg --icon=Icon.ico --loadingGif=installing.gif --releaseDir=c:\temp\FooBar\Test
2016-07-18 15:31:36> Program: Bootstrapper EXE found at:.\Setup.exe
2016-07-18 15:31:36> Program: Creating release package: c:\temp\FooBar\Test\FooBar.2.0.0.5.nupkg
2016-07-18 15:31:36> ReleasePackage: Creating release package: c:\temp\FooBar\Test\FooBar.2.0.0.5.nupkg => c:\temp\FooBar\Test\FooBar-2.0.0.5-full.nupkg
2016-07-18 15:31:36> ReleasePackage: Couldn't find file for package in .: GoogleAnalyticsTracker.Simple
2016-07-18 15:31:36> Unhandled exception: System.Exception: Couldn't find file for package in .: GoogleAnalyticsTracker.Simple
   at Squirrel.ReleasePackage.<>c__DisplayClass1d.<findAllDependentPackages>b__1a(PackageDependency dependency)
   at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Squirrel.ReleasePackage.findAllDependentPackages(IPackage package, IPackageRepository packageRepository, HashSet`1 packageCache, FrameworkName frameworkName)
   at Squirrel.ReleasePackage.CreateReleasePackage(String outputFile, String packagesRootDir, Func`2 releaseNotesProcessor, Action`1 contentsPostProcessHook)
   at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi)
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)

If i open up FooBar.2.0.0.5.nupkg in 7zip then i can find the file lib\net45\GoogleAnalyticsTracker.Simple.dll so why on earth does it not find it?

The command im running is tools\Squirrel.exe --releasify=FooBar.2.0.0.5.nupkg --icon=Icon.ico --loadingGif=installing.gif --releaseDir=c:\temp\FooBar\Test.

i have tried with version 1.4.0 and 1.4.1 and both seem to have this issue.

Stacktrace with linenumbers:

   at Squirrel.ReleasePackage.<>c__DisplayClass23_0.<findAllDependentPackages>b__2(PackageDependency dependency) in C:\Users\Peter\Source\Repos\Squirrel.Windows\src\Squirrel\ReleasePackage.cs:line 370
   at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Squirrel.ReleasePackage.findAllDependentPackages(IPackage package, IPackageRepository packageRepository, HashSet`1 packageCache, FrameworkName frameworkName) in C:\Users\Peter\Source\Repos\Squirrel.Windows\src\Squirrel\ReleasePackage.cs:line 364
   at Squirrel.ReleasePackage.CreateReleasePackage(String outputFile, String packagesRootDir, Func`2 releaseNotesProcessor, Action`1 contentsPostProcessHook) in C:\Users\Peter\Source\Repos\Squirrel.Windows\src\Squirrel\ReleasePackage.cs:line 122
   at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String signingOpts, String baseUrl, String setupIcon, Boolean generateMsi) in C:\Users\Peter\Source\Repos\Squirrel.Windows\src\Update\Program.cs:line 387
   at Squirrel.Update.Program.executeCommandLine(String[] args) in C:\Users\Peter\Source\Repos\Squirrel.Windows\src\Update\Program.cs:line 181
   at Squirrel.Update.Program.main(String[] args) in C:\Users\Peter\Source\Repos\Squirrel.Windows\src\Update\Program.cs:line 62
   at Squirrel.Update.Program.Main(String[] args) in C:\Users\Peter\Source\Repos\Squirrel.Windows\src\Update\Program.cs:line 37
AnderssonPeter commented 8 years ago

Ok i feel a bit stupid, GoogleAnalyticsTracker.Simple is added as a dependency and i guess thats the problem, but a better error message would be nice!

AnderssonPeter commented 8 years ago

Adding developmentDependency="true" to the package in packages.config solved the problem!

bkCDL commented 8 years ago

Thanks @AnderssonPeter ! That works for me too.

DorGoldi commented 6 years ago

That doens't work me :(

here the content of the packages.config file:

<packages>
  <package id="DeltaCompressionDotNet" version="1.1.0" targetFramework="net452" developmentDependency="true"/>
  <package id="PDFsharp-wpf" version="1.50.4740-beta5" targetFramework="net452" developmentDependency="true" />
....

and the error received:

PM> Squirrel --releasify HitKli_WpfApp.1.0.0.nupkg --releaseDir "C:\SquirrelReleases" Squirrel : System.Exception: Couldn't find file for package in .: PDFsharp-wpf At line:1 char:1

  • Squirrel --releasify HitKli_WpfApp.1.0.0.nupkg --releaseDir "C:\SquirrelReleases ...
  • 
    + CategoryInfo          : NotSpecified: (System.Exceptio....: PDFsharp-wpf:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
    
    at Squirrel.ReleasePackage.<>c__DisplayClass20_0.<findAllDependentPackages>b__2(PackageDependency dependency)
    at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
    a
    t System.Linq.Buffer`1..ctor(IEnumerable`1 source)
    at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
    at Squirrel.ReleasePackage.findAllDependentPackages(IPackage package, IPackageRepository packageRepository, HashSet`1 packageCache, FrameworkName f
    rameworkName)
    at Squirrel.ReleasePackage.CreateReleasePackage(String outputFile, String packagesRootDir, Func`2 releaseNotesProcessor, Action`1 contentsPostProce
    ssHook)
    at Squirrel.Update.Program.Releasify(String package, String targetDir, String packagesDir, String bootstrapperExe, String backgroundGif, String sig
    ningOpts, String baseUrl, String setupIcon, Boolean generateMsi, String frameworkVersion, Boolean generateDeltas)
    at Squirrel.Update.Program.executeCommandLine(String[] args)
    at Squirrel.Update.Program.main(String[] args)
    at Squirrel.Update.Program.Main(String[] args)

any help will be appreciated!!

Andlo2013 commented 6 years ago

DorGoldi. I have the same problem

Can you solve?

DorGoldi commented 6 years ago

I fixed that one and had anther issue, got despaired, gave up, and started using a simple script (Inno setup) for a less complex installation.

antoineazar commented 5 years ago

Anyone can help on this issue? I'm hitting the same thing.

Thieum commented 5 years ago

@Andlo2013 @antoineazar if you are still experiencing the issue, please create a new issue with a screenshot of your nupkg open in Nuget Package Explorer like this:

image

@shiftkey original question has been answered. this can be closed.