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

Paket.exe 3.13.1 on GitHub is corrupt #1858

Closed
Allon-Guralnek opened this issue Aug 17, 2016 · 6 comments
Closed

Paket.exe 3.13.1 on GitHub is corrupt #1858

Allon-Guralnek opened this issue Aug 17, 2016 · 6 comments

Comments

@Allon-Guralnek
Copy link

When using paket.bootstrapper.exe to update to the latest version, it downloads the latest version, 3.13.1, from GitHub. This version seems to be corrupt. Trying to run it produces the following message box:

---------------------------
Unsupported 16-Bit Application
---------------------------
The program or feature "\??\D:\Git\...\.paket\paket.exe" cannot start or run due to incompatibity with 64-bit versions of Windows. Please contact the software vendor to ask if a 64-bit Windows compatible version is available.


---------------------------
OK   
---------------------------

By forcing the bootstrapper to download from nuget.org instead, it downloads a valid paket.exe and everything works as expected. I used this command:

paket.bootstrapper.exe --force-nuget -f

@forki
Copy link
Member

forki commented Aug 17, 2016

works for me. maybe just your download was corrupted, but not the exe itself?

@Allon-Guralnek
Copy link
Author

That's odd. It happened on several of my coworkers' computers as well, and downloading from a different source solved the issue, so I assumed it's not an issue on my machine. Perhaps there's something caching a corrupt copy somewhere.

@forki
Copy link
Member

forki commented Aug 17, 2016

Will release a new one. Just to make sure

@forki forki closed this as completed Aug 17, 2016
@Allon-Guralnek
Copy link
Author

Okay, this seems to be an issue with paket.bootstrapper.exe downloading an incomplete paket.exe from GitHub. Here's what I get when downloading the last two versions:

3.13.1
paket.bootstrapper.exe GitHub: 1,703,936 bytes
paket.bootstrapper.exe NuGet: 5,603,328 bytes
Google Chrome 52 GitHub: 5,603,328 bytes
Google Chrome 52 NuGet: 1,748,321 bytes compressed --> 5,603,328 bytes uncompressed

3.13.2
paket.bootstrapper.exe GitHub: 1,740,800 bytes (on coworker's machine: 1,687,552 bytes)
paket.bootstrapper.exe NuGet: 5,603,328 bytes
Google Chrome 52 GitHub: 5,603,328 bytes
Google Chrome 52 NuGet: 1,748,339 bytes compressed --> 5,603,328 bytes uncompressed

It seems the bootstrapper downloads some portion of the file, and is satisfied with it, resulting in a corrupt download. Chrome has no problems downloading the full file from the exact same URL. Neither have any issues downloading the nupkg from nuget.org.

Also, once there's a corrupt download in Paket's cache, it always writes:

Checking Paket version (version 3.13.2 requested)...
Copying version 3.13.2 from cache.
Done.

Even after repeated runs, instead of writing:

Paket.exe 3.13.2 is up to date.

So it can detect when there's a corrupt download (when the cached version doesn't match what it expects), and remove it from the cache. This corrupt cache detection could at least mitigate this issue.

@forki
Copy link
Member

forki commented Aug 17, 2016

if you have a good idea then please send a PR to the boostrapper

@Allon-Guralnek
Copy link
Author

Allon-Guralnek commented Aug 17, 2016

Your wish is my command :)
#1859

I was surprised to find out the bootstrapper is in C# and not F#, so I was glad I had the possibility to contribute.

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

No branches or pull requests

2 participants