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

Specify required .NET version #341

Closed
stirno opened this issue May 13, 2015 · 8 comments
Closed

Specify required .NET version #341

stirno opened this issue May 13, 2015 · 8 comments

Comments

@stirno
Copy link

stirno commented May 13, 2015

Due to some updates in one of our dependencies (Roslyn, specifically) we're looking at having to start targeting .NET 4.6 in the near future (possibly even the RC version).

Just wanted to get an issue posted to start a discussion about if/how squirrel might deal with this.

@anaisbetts
Copy link
Contributor

The way we'd probably deal with it is via another Squirrel attribute in your EXE - we can scan all of those, use that to write an entry in the VS_VERSION_INFO block with the required .NET version, then load it in Setup.exe. So the steps would be something like:

  1. Create a new [SquirrelMinimumNetVersion] attribute
  2. Rig Releasify to scan all the EXEs looking for that attribute (similar to what we do for SquirrelAware attribute), and take the highest number
  3. In Releasify, use something (RCEdit.exe?) to create the new RC entry
  4. In Setup.exe, instead of using our hardcoded constant, go looking for the RC entry

@automatonic
Copy link

Lets see if I am understanding this correctly:

  1. Modern versions of Windows can see what .net framework version is required (by interrogating the exe resources) and then automatically download/install the required version (if missing)
  2. Squirrel for windows gets a new assembly-level attribute that an application can add to indicate the requred version (to squirrel for windows).
  3. Releasify gets adapted to find the attribute in 2. and then set the exe resources to take advantage of 1.

Is that correct? I assume there is no "framework bootstrapping" in squirrel for windows because of 1. Or did i miss something?

(I, too, am eyeing .net 4.6 for an upcoming release)

@jochenvangasse
Copy link

Any progress on this?
Otherwise I'd love to get started on a PR ;-)

@chizran
Copy link

chizran commented Feb 2, 2016

Has there been any progress on this?

@anaisbetts
Copy link
Contributor

@chizran Nope! I'd take a very thoughtfully written PR to add this though

@patroza
Copy link
Contributor

patroza commented Aug 5, 2016

I've got a .NET461 branch.

I suppose you could build it, and replace the setup.exe in the nuget package folder. Not really convenient though. But maybe it gives some pointers. I currently have no need for the MSBuild support, but rather use it in electron-winstaller because I use it with Electron+Edge to run .NET 4.6 code :)

@plinehan
Copy link
Contributor

Can this be marked as closed? #940 is now included in the released versions of Squirrel.

@Thieum
Copy link
Contributor

Thieum commented May 2, 2019

@shiftkey fixed with #940

@shiftkey shiftkey closed this as completed May 2, 2019
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

8 participants