Ejecución de aplicaciones basadas en .NET sin .NET Framework

¿Hay alguna manera de ejecutar aplicaciones basadas en .NET sin .NET Framework instalado. Hay alguna forma de hacer esto. ¿Hay algún software que pueda lograr esto? El software comercial también es posible.

Adicional:

¿Alguien ha tenido alguna experiencia con VMWare Thin Client ?

Hay varias herramientas diferentes por ahí, una pareja que he intentado son:

  • XenoCode Postbuild (ahora Spoon Studio ) (ahora TurboStudio )
  • Salamander .NET Linker

Puede encontrar más haciendo una búsqueda de ” .NET Linker “.

Los dos anteriores, que probé, parecían funcionar bien, pero nunca probé ampliamente mi código creado con ellos. Los probé principalmente por curiosidad.

Mis aplicaciones .NET son utilizadas principalmente por los departamentos de TI. Instalar .NET Framework no es un gran problema para ellos.

Si desea escribir software más dirigido a los usuarios finales, la instalación de .NET puede desactivarlos.

Puede usar el enlace mono a estático para todos los marcos que necesite.

Por supuesto, eso te limita a la implementación mono del marco, que está mejorando pero aún está incompleto en algunos lugares.


Actualizar:
En función de sus diversos comentarios, mi mejor sugerencia es usar la versión 2.0 del marco. Eso se instalará perfectamente en Windows 2000 sin problemas, y puede orientarlo desde Visual Studio 2008 si lo necesita.


También estoy un poco curioso sobre su requisito de Windows 2000. ¿Se está implementando en entornos comerciales o domésticos?

Casi ningún usuario doméstico tiene Windows 2000. Los usuarios domésticos terminaron con (estremecimiento) Windows ME en su lugar, que se lanzó casi al mismo tiempo, y por esa razón se han trasladado casi por completo a Windows XP. Es más probable que vea Windows 98 máquina en una casa que Windows 2000, y ni siquiera Microsoft todavía es compatible con Windows 98.

Por otro lado, una gran cantidad de empresas todavía usan máquinas con Windows 2000 en grandes cantidades. Pero los entornos empresariales generalmente no tienen problemas para instalar .Net framework. Incluso pueden agregarlo a máquinas automáticamente a través de la implementación de políticas grupales si es necesario.

Use Mono, está desarrollado por Novell y es de código abierto

Editar: La pregunta se trataba de ejecutar sin un tiempo de ejecución instalado independientemente del “proveedor”. Aun así, aquí hay un enlace a la entrada de wikipedia de Mono. Disfrutar.

http://en.wikipedia.org/wiki/Mono_(software)

Mi equipo se enfrentó a un problema similar. Necesitábamos ejecutar nuestra aplicación .NET 3.5 WPF en Windows PE, que no tiene un framework .NET utilizable. Evalué todas las opciones y descubrí que Xenocode PostBuild es el mejor.

Su GUI es un poco contradictoria y hubo algunos baches en la carretera que la hicieron funcionar, pero desde entonces ha sido confiable.

Si va por esa ruta, tenga en cuenta que debe asegurarse de que su código esté totalmente depurado antes de generar el ejecutable no administrado, ya que no puede depurar la aplicación resultante (a menos que le guste el ensamblador).

También tenga en cuenta que incrustar el .NET Framework lo convierte en un gran ejecutable. ~ 20MB para 2.0 y ~ 40MB para 3.5.

No mencionó el tipo de software que estaba buscando ejecutar, así que pensé que agregaría mis dos centavos.

Microsoft ha lanzado Silverlight, un plugin de navegador basado en .NET, y han estado trabajando con Novell para lanzar una versión de Silverlight basada en el comstackdor Mono mencionado anteriormente llamado Moonlight. Microsoft admite nativamente Windows y Mac OS X 10.5.

Si desea obtener más información aquí hay algunos enlaces: http://en.wikipedia.org/wiki/Microsoft_Silverlight http://www.microsoft.com/silverlight/

Esto realmente suena como un problema mayor de lo que vale cuando trabajas con un sistema operativo compatible con .net.

.net 2.0 Creo que incluso se trata de una actualización de Windows, solo 26 MB, y solo la instalas una vez. Si quieres algo que sea win32 nativo vuelve a C ++ no administrado.

También vea: SmallestDotNet (aunque no en Windows 2000, menciona que “Pronto, Microsoft lanzará una descarga súper pequeña para las máquinas XP SP2 que no tienen ninguna versión de .NET Framework”.)

Si uno no quiere usar .NET Framework, creo que sería mejor considerar usar otro lenguaje de progtwigción, que genera un ejecutable independiente. Algo como Delphi o, si el premio es importante, Lázaro. Pero estoy seguro de que hay otras alternativas.

La única alternativa al framework .NET que conozco es MONO (para LINUX).

Una vieja pregunta pero puede ayudar a otros lectores

Puede usar los binarios de IKVM para ejecutar una aplicación Mono / .Net / Java sin ningún marco preinstalado. Solo ten en mente:

Debería poder ejecutarlo con éxito. (En Windows .NET, recuerde copiar los dll de IKVM al directorio actual).

Por favor, consulte la documentación para obtener una mejor visión.

Se llama vincular estáticamente el framework .net. Mono lo permite y hay otros proveedores también. Un caso es si necesita ejecutar en Windows PE.

Si te refieres a “¿Puedo ejecutar una aplicación .NET sin tener que instalar un framework en absoluto?” entonces la respuesta es no, no puedes.

Si quiere decir “¿Puedo ejecutar una aplicación .NET sin tener que instalar Microsoft .NET framework y CLR?” entonces la respuesta es solo si puedes encontrar una alternativa, y Mono es el único que conozco.

En aras de la integridad y algo a considerar junto con las respuestas re MONO.

¿Has pensado en escribir la aplicación en código nativo? De esta forma, simplemente puede implementar su exe. Si necesita un entorno RAD para productividad, entonces herramientas como Delphi o C ++ Builder le darán una sensación muy similar a FCL (Delphi’s VCL fue diseñado por Anders Hejlsberg antes de mudarse a MS, por lo que probablemente no haya coincidencia en que C # se sienta muy familiar Delphites)

Esta es una de las mejores explicaciones (entre las muchas) que he encontrado:

Como una cuestión práctica, no es posible. Teóricamente, un comstackdor podría examinar todas las clases que usa su aplicación e incluir ese código en su aplicación, y comstackr todo en código nativo. Sin embargo, eso aún no cuenta para la CLR en sí misma, que contiene funciones básicas como el recolector de basura, el cargador de ensamblaje, el lector de metadatos, etc. Todas estas cosas están en código nativo, por lo que deberían duplicarse.

Además, no todos los métodos en clases .NET están en código administrado. Si observa el código desensamblado en Reflector, verá que algunos de los métodos están marcados con el indicador MethodImplAttributes.InternalCall. Esto significa que la implementación real del método es interna al CLR. Cualquier sistema que comstack C # (o cualquier otro lenguaje .NET) al código nativo tendría que duplicar todo esto, y eso sería un esfuerzo hercúleo. Y la aplicación resultante probablemente sea bastante grande.