c# .net bloomberg

c# - ¿Qué es un "marco.NET privado"?



bloomberg (3)

Microsoft decidió no publicar redistribuible .NET Framework 3.5 para Windows 8, Windows 10, el servidor de Windows 2012 y el instalador en línea a menudo no funciona . Entonces, otros proveedores necesitan crear sus propios instaladores sin conexión. No es el primer marco hecho en casa que conocí. Incluso si no es legal , los desarrolladores se ven obligados a admitir las aplicaciones .NET 3.5 en los servidores Windows 8, Windows 10 y Windows 2012.

Un vendedor de software financiero popular distribuye un marco .NET "privado" :

¿Qué es exactamente un .NET framework privado?

¿Por qué alguien querría tener su propia versión privada de .NET Framework?

En términos básicos, ¿cómo puede uno crear un marco .NET privado?


No creo que digan que esto está relacionado con THE .NET Framework, solo que es un código específico de Bloomberg el que se ejecuta en .NET al que llaman framework. Lo más probable es que Private haga referencia al hecho de que requieren acceso personalizado a sus servidores mediante algunas credenciales personalizadas.


No estoy afiliado con este proveedor de ninguna manera y, por lo tanto, obviamente no puedo hablar por ellos sobre lo que significan. Con eso fuera del camino ...

Sus FAQ dicen lo siguiente:

¿Qué es el software Bloomberg .NET Framework privado?

Estos componentes de software solo se instalan si la estación de trabajo no tiene instalado el software nativo correspondiente de Microsoft .NET Framework. En el caso de que las dos versiones nativas de Microsoft (3.5 SP1 y 4) no estén presentes, solo se instalará el componente privado v3.5 SP1 durante la instalación inicial. El archivo de instalación (bnetupd.exe) para la versión privada de v4 se copiará en el directorio / blp / wintrv para su instalación en una fecha posterior.

Parece que están distribuyendo su propia versión de .NET Framework y esa versión se usa si la estación de trabajo no tiene el .NET Framework oficial instalado. El razonamiento detrás de esto podría ser tan simple como evitar cambios drásticos en la estación de trabajo del usuario:

  • Si ya tiene instalado .NET Framework, la aplicación puede usarlo, ya que no se requieren cambios en su estación de trabajo.
  • Si no tiene instalado .NET Framework, entonces el proveedor no asume que lo quiere instalar, por lo que agrupan su propia compilación que está diseñada para funcionar solo con sus aplicaciones y no para ser compartida con otro software que pueda tener. .

Con respecto a la pregunta de cómo harías algo así, la respuesta es que antes que nada necesitas tener algún tipo de licencia que te permita hacer esto. En general, puede obtener una pieza de software con su licencia "predeterminada" o puede negociar una licencia más conveniente con su proveedor. En cualquier caso, debe asegurarse de que este tipo de uso y redistribución esté permitido por la licencia que tenga.

A partir de allí, es probable que haya varias maneras de hacerlo (incluido recibir el código fuente y crear una versión personalizada, utilizando un enlazador personalizado o una herramienta de agrupamiento , o algún tipo de truco al iniciar).

Observando el comportamiento del instalador de este proveedor dentro de una máquina virtual, lo que veo es que los ensamblajes de frameworks se despliegan como imágenes nativas en un directorio personalizado que parece imitar la estructura del directorio típico de instalación de .NET. El nombre de ese directorio personalizado es %WINDIR% , que para mí parece sugerir algún tipo de redirección utilizando variables de entorno (porque, si desarma una variable de entorno, "se expande" a su nombre).

En cualquier caso, el marco desplegado es utilizado solo por el software del proveedor y no parece afectar otras aplicaciones .NET, simplemente lo ignoran. Entonces, la frase private .NET Framework es razonablemente precisa.