Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is a "private .NET framework"?

Tags:

c#

.net

bloomberg

People also ask

What is .NET Framework and why do I need it?

NET Framework is a software development framework for building and running applications on Windows. . NET Framework is part of the . NET platform, a collection of technologies for building apps for Linux, macOS, Windows, iOS, Android, and more.

What does .NET Framework do?

NET (pronounced dot net) is a framework that provides a programming guidelines that can be used to develop a wide range of applications–––from web to mobile to Windows-based applications. The . NET framework can work with several programming languages such as C#, VB.NET, C++ and F#.

Do I need Microsoft NET Framework on my computer?

If you have mostly older software that was written by professional companies then you may not need *. NET Framework, but if you have newer software (whether written by professionals or novices) or shareware (written in the last few years) then you might need it.


I'm not affiliated with this vendor in any way and thus I obviously can't speak for them about what they mean. With that out of the way...


Their FAQ states the following:

What is the Bloomberg private .NET Framework software?

These software components are only installed if the workstation does not have the corresponding native Microsoft .NET Framework software installed. In the case that both native Microsoft versions (3.5 SP1 and 4) are not present, only the private v3.5 SP1 component will be installed during the initial installation. The installation file (bnetupd.exe) for the private v4 version will be copied to the \blp\wintrv directory for installation at a later date.

This sounds like they are distributing their own version of the .NET Framework and that version is used if the workstation does not have the official .NET Framework installed. The rationale behind this could be as simple as to avoid making drastic changes to the user's workstation:

  • If you already have the .NET Framework installed, it's fine for the application to use it, because no changes to your workstation are required.
  • If you do not have the .NET Framework already installed, then the vendor doesn't assume you want it installed, so instead they bundle their own build that's intended to work only with their applications and not to be shared with other software you may have.

Regarding the question of how you'd do something like that, the answer is that first of all you need to have some sort of license that allows you to do this. In general, you can obtain a piece of software with its "default" license or you can negotiate a more convenient license with its vendor. In any case, you need to make sure that this kind of usage and redistribution is permitted by the license you have.

From there on, there are probably multiple ways you could go about it (including receiving the source code and making a customized build, using a custom linker or a bundling tool -- or some kind of trickery when launching).

Observing the behavior of this vendor's installer inside a virtual machine, what I see is that the framework assemblies are indeed deployed as native images in a custom directory that seems to mimic the structure of the typical .NET installation directory. The name of that custom directory is %WINDIR%, which to me seems to suggest some kind of redirection using environment variables (because, if you unset an environment variable, it "expands" to its name).

In any case, the deployed framework is used only by the vendor's software and does not seem to affect other .NET applications, they simply ignore it. So the phrase private .NET Framework is reasonably accurate.


Microsoft decided not to publish redistributable .NET Framework 3.5 for Windows 8, Windows 10, Windows 2012 server and online installer very often does not work. So other vendors need to create their own offline installers. It is not the first home-made framework I met. Even if it is not legal, developers are pushed to support the .NET 3.5 apps on Windows 8, Windows 10 and Windows 2012 server.


I don't think they are saying this is related to THE .NET Framework, only that it is Bloomberg-specific code which runs on .NET that they call a framework. Private most likely refers to the fact that they require custom access to their servers via some custom credentials.