Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update not running after install, works from visual studio #329

Closed
amweiss opened this issue May 6, 2015 · 9 comments · Fixed by #331
Closed

Update not running after install, works from visual studio #329

amweiss opened this issue May 6, 2015 · 9 comments · Fixed by #331

Comments

@amweiss
Copy link
Contributor

amweiss commented May 6, 2015

For the past couple months, I've been having no issues with Squirrel.Windows, but recently (can't say for sure when it started, but I'm on 0.9.4 now), the application no longer updates after being installed.

When running from Visual Studio (in Release or Debug) it works fine. The code in use is: https://github.com/amweiss/vigilant-cupcake/blob/master/VigilantCupcake/MainForm.cs#L507 which is nearly a copy/paste from the example posted here. Any ideas what could cause the difference? I'm trying to find a good way to attach a debugger and get symbols working post-install.

Fiddler shows the request going out to the releases URL, and no exceptions are bubbling up.

@anaisbetts
Copy link
Contributor

You can just open a copy of Visual Studio and go "Attach to process", or go into Task manager's processes tab, right click => Create Dump File

@amweiss
Copy link
Contributor Author

amweiss commented May 6, 2015

Found something, seems like a version mismatch somewhere for NuGet.Core. I'll see if I can track it down
image

  StackTrace:
       at Squirrel.UpdateManager.ApplyReleasesImpl.<installPackageToAppDir>d__8e.MoveNext()
       at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
       at Squirrel.UpdateManager.ApplyReleasesImpl.installPackageToAppDir(UpdateInfo updateInfo, ReleaseEntry release)
       at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClass5c.<ApplyReleases>b__55()
       at Squirrel.Utility.<LogIfThrows>d__54`1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
       at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__5e.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Squirrel.UpdateManager.<ApplyReleases>d__a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at VigilantCupcake.MainForm.<<updateCheckTimer_Tick>b__33>d__3d.MoveNext()
  InnerException: 

@amweiss
Copy link
Contributor Author

amweiss commented May 6, 2015

Ah, appears related to #330.
I agree with @ricardopolo if we can get a nuget version of Squirrel to include that, it should fix it I think.

@anaisbetts
Copy link
Contributor

This is fixed in 0.9.5

@amweiss
Copy link
Contributor Author

amweiss commented May 6, 2015

Not quite, new one popped up:

System.IO.FileLoadException was caught
  HResult=-2146234304
  Message=Could not load file or assembly 'Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
  Source=Squirrel
  FileName=Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
  FusionLog==== Pre-bind state information ===
LOG: DisplayName = Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 (Fully-specified)
LOG: Appbase = file:///C:/Users/aweiss/AppData/Local/vigilantcupcake/app-1.0.5604.25563/
LOG: Initial PrivatePath = NULL
Calling assembly : Squirrel, Version=0.9.5.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
LOG: Attempting download of new URL file:///C:/Users/aweiss/AppData/Local/vigilantcupcake/app-1.0.5604.25563/Mono.Cecil.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Build Number
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

  StackTrace:
       at Squirrel.SquirrelAwareExecutableDetector.GetAssemblySquirrelAwareVersion(String executable)
       at Squirrel.SquirrelAwareExecutableDetector.<>c__DisplayClass8.<GetPESquirrelAwareVersion>b__7()
       at Squirrel.Utility.Retry[T](Func`1 block, Int32 retries)
       at Squirrel.SquirrelAwareExecutableDetector.GetPESquirrelAwareVersion(String executable)
       at Squirrel.SquirrelAwareExecutableDetector.<>c__DisplayClass5.<GetAllSquirrelAwareApps>b__2(String x)
       at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
       at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       at Squirrel.SquirrelAwareExecutableDetector.GetAllSquirrelAwareApps(String directory, Int32 minimumVersion)
       at Squirrel.UpdateManager.ApplyReleasesImpl.<invokePostInstall>d__bb.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Squirrel.Utility.<LogIfThrows>d__51.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
       at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__5e.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Squirrel.UpdateManager.<ApplyReleases>d__a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at VigilantCupcake.MainForm.<<updateCheckTimer_Tick>b__33>d__3d.MoveNext()
  InnerException: 

@anaisbetts
Copy link
Contributor

Oh my god fuck strong naming so hard

@stirno
Copy link

stirno commented May 6, 2015

next project: nuget that refuses packages with strong-named dlls.

@anaisbetts
Copy link
Contributor

Alright, give 0.9.5.1 a try

@amweiss
Copy link
Contributor Author

amweiss commented May 6, 2015

Looks like the same issue still, I'll see if I can find anything else.

System.IO.FileLoadException was caught
  HResult=-2146234304
  Message=Could not load file or assembly 'Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
  Source=Squirrel
  FileName=Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
  FusionLog==== Pre-bind state information ===
LOG: DisplayName = Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
 (Fully-specified)
LOG: Appbase = file:///C:/Users/aweiss/AppData/Local/vigilantcupcake/app-1.0.5604.26568/
LOG: Initial PrivatePath = NULL
Calling assembly : Squirrel, Version=0.9.5.1, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
LOG: Attempting download of new URL file:///C:/Users/aweiss/AppData/Local/vigilantcupcake/app-1.0.5604.26568/Mono.Cecil.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Build Number
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

  StackTrace:
       at Squirrel.SquirrelAwareExecutableDetector.GetAssemblySquirrelAwareVersion(String executable)
       at Squirrel.SquirrelAwareExecutableDetector.<>c__DisplayClass8.<GetPESquirrelAwareVersion>b__7()
       at Squirrel.Utility.Retry[T](Func`1 block, Int32 retries)
       at Squirrel.SquirrelAwareExecutableDetector.GetPESquirrelAwareVersion(String executable)
       at Squirrel.SquirrelAwareExecutableDetector.<>c__DisplayClass5.<GetAllSquirrelAwareApps>b__2(String x)
       at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
       at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       at Squirrel.SquirrelAwareExecutableDetector.GetAllSquirrelAwareApps(String directory, Int32 minimumVersion)
       at Squirrel.UpdateManager.ApplyReleasesImpl.<invokePostInstall>d__bb.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Squirrel.Utility.<LogIfThrows>d__51.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
       at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__5e.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Squirrel.UpdateManager.<ApplyReleases>d__a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at VigilantCupcake.MainForm.<<updateCheckTimer_Tick>b__33>d__3d.MoveNext()
  InnerException: 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants