Provided .Net Link Insufficient
- Newly installed and and fully updated Windows 10 system.
- Installed BrowserPicker and when launching app I got the .NET required notification with a download link.
- Downloaded & installed .NET 8.0 Desktop Runtime (v8.08) from the link provided by BrowserPicker.
- Tried launching BrowserPicker again, but recieved same .NET required notification.
- Rebooted system... no change.
- Uninstalled and reinstalled BrowserPicker... no change.
So apparently the provided link to download the required .NET runtime does not actually include all requirements... or something else is broken.
Not going to install a ~300mb BrowserPicker version that includes all requirements bundled, as I'll need .NET runtimes on this system anyway for various other apps. Currently in the process of downloading/installing various other .NET versions and components.
This seems like an issue in BrowserPicker. If you aren't going to include links to all requirements within the app, then all requirements should at least be documented in the README here on github.
The only thing about requirements mentioned in the README here on github was this; "BrowserPicker.msi and Bundle.zip are JIT compiled and require you have the .NET 8 runtime installed." *With no links provided.
The other possibility is that BrowserPicker is just failing to recognize that the .NET 8 Desktop Runtime actually is installed, and failing to launch correctly. Either way... something in BrowserPicker is not working as intended, making the app unusable for me currently. Perhaps as I install additional .NET components/versions this issue may be resolved, which will be an annoying process of trial and error at best.
Edit: ASP.NET Core 8.0 Runtime is apparently required. Installing it resolved the issue described above. As far as I can tell, this requirement is undocumented.
I think the popup you are referring to is something that I do not have control over, could you share a screenshot of it?
Edit Correction: Sorry, I would have to uninstall either: ASP.NET Core 8.0 Runtime or .NET 8.0 Desktop Runtime in order to get the popup notification window to reappear when trying to launch BrowserPicker. I can't do that right now without disrupting other processes.
- If you can't control that popup, then at least include links to the full requirements here on github (see below).
- The popup was definitely part of BrowserPicker, but maybe it's a .NET default app behavior, which I wouldn't know about.
To Clarify:
- After installing BrowserPicker, trying to launch it without having .NET requirements installed, causes a popup notice about the .NET 8.0 requirement. The popup includes a link to download the required .NET 8.0 Desktop Runtime. Based on the app's description here on github (which does mention the .NET requirement), that is an actual requirement. So that's all well and good.
- The problem is that installing that .NET 8.0 Desktop Runtime won't actually fully satisfy BrowserPicker's .NET requirements, so that popup window about .NET requirement still appears when trying to launch BrowserPicker (preventing BrowserPicker from launching).
- I see no indication here on github what the additional requirement is. It was only through trial and error that I determined that it was the ASP.NET Core 8.0 Runtime (linked in original post & below).
- Only installing that ASP.NET Core 8.0 Runtime would allow BrowserPicker to actually launch and function.
- It's working fine for me now. Thank you! Great app! Sorry I don't want to break it again to show you a screenshot of the standard .NET requirement notification.
In Summary & The Main Point:
- In the description of BrowserPicker here on github it mentions the requirement: .NET 8.0 Desktop Runtime, but does not provide a link to that first requirement (I included the link there).
- In the description here on github, there is no mention of the additional requirement: ASP.NET Core 8.0 Runtime, and being as there is no mention of this requirement, there is of course also no link provided for that second requirement (I included the link there).
Simple Solution:
Just edit the description here on github to include a note about both of these requirements with links to download them (I provided the links right there just above this).
This ASP.NET Requirement is Mentioned in Another Issue Here Also
Where the person reporting the issue said:
The BrowserPicker.App.csproj project is a WinExe WPF project. ... but the same
.csprojfile also has<FrameworkReference Include="Microsoft.AspNetCore.App" />...why does it have this FrameworkReference? Can/should it be removed?
They did also mention that they successfully removed the reference and built the project, but then mentioned other stuff breaking, so I don't know about all that.
- It does seem clear though that this BrowserPicker project, as it is now, does include this ASP.NET requirement, in addition to the .NET requirement.
- Which is fine by me.
- I just think it should be mentioned and links to the requirements should be provided.
- Especially given that the .NET requirements popup notification regarding missing requirements only catches the .NET 8 Runtime requirement, but fails to correctly identify or provide a link to that ASP.NET 8 Core requirement (but does prevent the app from running without it).
- Currently this BrowserPicker app has 2 requirements, but only 1 requirement is semi-accounted for.
- The description only mentions 1 requirement, and provides no links for either of it's 2 requirements.
Thanks for the additional details.
I was not aware of any special requirements, but I do have all manner of stuff installed on all the systems I use this on, so that is natural.
There is no way I can make a popup display when the app launches on a system without a runtime installed, so that must be something dotnet adds to the executable it builds automatically.
I do not want asp.net to be a requirement to install the app, so I'll have a poke around if I can get that requirement removed.
Windows has an optional SandBox feature which can be enabled (the Virtualization must be enabled and the CPU must support the instructions necessary for the SandBox feature) in which you can test without the requirements or in a VM and make a screenshot of the prompt, anyway from what I remember, only the Core was necessary, I can't confirm tho, because on my Core2Duo I ended up having to use the portable archive with included requirements and I don't want to poke around and mess with something that is currently working, risking of breaking it. I wish it didn't have any requirements and was still like under ~100 MB installed/extracted, but that will probably require to be rewritten and I'm not familiar with all of this, but it's probably possible.
BTW, speaking of the ReadMe - there's a typo I noticed under "Native image generation", where it says "This significantly enhances launch times for he executable.".
I encountered this issue. The required component is "ASP.NET Core Runtime", and it can be found here: https://versionsof.net/core/8.0/8.0.0/ this may be useful for updating the links in the installer.
Thanks for the info about the "ASP.NET Core Runtime" requirement. I recently had my laptop rebuilt and only installed .NET 9 bits and pieces with Visual Studio and Browser Picker didn't work. I then installed the .NET 8 requirements and still nothing. Tried the .NET 8 ASP.NET installer and worked after that. Hadn't come across this before as I'd not rebuilt my laptop for a couple of years and had .NET 6,7,8 and 9 installed before! Thanks for the info!
I think the popup you are referring to is something that I do not have control over, could you share a screenshot of it?
Yeah, except the message didn't actually mention AspNetCore, it only showed me the .Net requirement message, even though that was already installed. If the message was correct and the link included in the popup message was correct, then this report wouldn't have been needed, as the installer would correctly prompt regarding requirements.
Please give 2.1.5 a go and let me know if it still needs AspNet.
Just got that popup. The problem is, clicking on the link opens BrowserPicker, leading to the same popup being open. Can't copy the link via the context action either 🫠
Unfortunately, there is literally nothing I can do about that, as the popup about .net is outside my control. You will either need the portable or download .net beforehand
Don't really get why my suggestion to simply provide links to requirements on the main page of github wasn't done months ago.
My problem was not the popup. That is not really a big deal. I edited my original post (before there where any replies here) once I had identified the cause of the issue. Here is what I said...
Edit: ASP.NET Core 8.0 Runtime is apparently required. Installing it resolved the issue described above. As far as I can tell, this requirement is undocumented.
The issue was simply that... "this requirement is undocumented."
In my second post I provided a simple solution. Like really really simple. It is shocking to me that this still hasn't been implemented. It's just a line of text added to the readme. It's not that hard. Note that I don't need the fix implemented as I already figured out the requirement, but for all future users, it makes sense to just tell them what the actual requirements are.
For reference, here is suggested solution from my second post above...
Simple Solution: Just edit the description here on github to include a note about both of these requirements with links to download them (I provided the links right there just above this).
And just in case you missed it, here are the links again (just put both the links in the readme as requirements... it's really not that complicated): .NET 8.0 Desktop Runtime ASP.NET Core 8.0 Runtime
Thanks!
ASP.NET Runtime should no longer be needed
As for why nothing was done for months, I was busy with other things :)
If there are improvements that can be made to the readme, please do open a PR and I will consider it.
Oh okay. Sorry. Didn't realize that ASP.NET requirement was effectively removed because after you had mentioned that, Klaster1 above posted yesterday that they still got that popup. I guess they were maybe referring to the popup for .NET 8.
Still seems like the link to download .NET 8 should be added to the readme. The dependency is mentioned in the readme, but no link is provided. Of course it's not much to ask people to just search for the dependency themselves, but just adding a link to the readme should be an easy edit (and sometimes people click on the ad at the top of search results which offers malware disguised as the search subject for download, lol).
I would do a PR for the readme edit, but I have never done a PR, and I'm not familiar with github on a technical level. Here is what I think needs to change though, in case anyone else wants to do it...
This text in the readme:
.NET Runtime dependent binary
BrowserPicker.msi and Bundle.zip are JIT compiled and require you have the .NET 8 runtime installed.
Should be changed to this:
.NET Runtime dependent binary
BrowserPicker.msi and Bundle.zip are JIT compiled and require you have the .NET 8.0 Desktop Runtime x64 installed for 64 bit systems, or for 32bit systems .NET 8.0 Desktop Runtime x86.
To create a PR for the readme, all you do is open the file by clicking it and then the little pen symbol at the top, and github will handle the rest for you :)
In cas you want give it a go and get started with creating PRs on github, I'll not make any changes to the readme for now, but I'll do it later if no PR shows up.
also, it should be the .NET 9 runtime now, as I did upgrade to .NET 9 in 2.2
readme has been updated, thanks for the feedback
Thanks, but there's no Bundle.zip file as an asset in /releases, you perhaps probably mean Dependent.zip (they should also be in code, like I did here).
Ref.: https://github.com/mortenn/BrowserPicker#net-runtime-dependent-binary
quite right, corrected.
@mortenn Are they no longer in code on purpose ?
not really, but it doesn't super matter, right?
I feel like the readme could do with a full makeover, but that is very much not a high priority task :)
It would be nice if you can just edit it again to put the 2 back in code blocks, if not then NVM.
A full ReadMe makeover is not needed at this point IMO (it's enough informative/detailed as is).