我想让我的windows程序不依赖于windows,能任意运行
楼主能不能帮帮我啊

解决方案 »

  1.   

    Why????没有什么工具可以实现让他独立的运行吗?
      

  2.   

    又没有什么可以让.net的运行环境包含在应用程序中。
      

  3.   

    只有在打包的时候连同 .net framework 打包, 一起安装。
      

  4.   

    “Why????没有什么工具可以实现让他独立的运行吗?”???
    有这样一个工具吗,这个工具当中也包含了“.net framework ”
      

  5.   

    如果你能不在没有.NET Framwork运行环境下写出.net程序,那没问题.
      

  6.   

    好像以前在哪过,.NET下的程序可以编译成.net下的也可编译成本地的代码。
    有个选项的。
      

  7.   

    据我所知,必须依赖于.NET Framwork
      

  8.   

    据我所知.隻要不用.net 寫就可以不依赖于.NET Framwork
      

  9.   

    你看.net framwork写进你的程序里
      

  10.   

    用VS2003里的VC.NET来写MFC程序,然后把MFC设置成静态引用就可以了:)
      

  11.   

    .NET Framwork象硬件
    而.NET就像软件,软件缺了硬件如何运行?
      

  12.   

    打包的时候连同 .net framework 打包
      

  13.   

    用C或C++来写程序来做吧,.net应用程序不依赖于.NET Framwork现在好像还是不行。
      

  14.   

    所谓框加就是你写程序时的using system........ 等等,即你所调用的非自己所写的功能,类等等资源,你若是想离开框架运行你的程序,需要将.net框架重写
      

  15.   

    有一种办法,ASP.NET,只要服务器装就行了,哈哈........
    (我想让我的java不需要JRE就能运行,行吗? :-)
      

  16.   

    m$新一代的操作系统可以,必须有.net框架
      

  17.   

    没有.netframeworks  .net程序是没有办法运行的,就像你没有地基却要盖大楼一样
      

  18.   

    那MS的.Net Framework有什么用处呢?
      

  19.   

    哈哈!听了各位大侠的话都很有趣呀!
    能不能介绍个工具可以连.net运行框架也一起打包进去.我是新手.
    别笑我.我是来学东西的.
      

  20.   

    把.NET程序部署到没有安装.NET Framwork的机器上--------------------------------------------------------------------------------摘要
    本文讨论了如何使用Windows Installer技术发布.NET程序,以及如何使用native代码判断目标机器上是否安装有.NET Framework; 如果没有,将自动安装.NET Framework然后安装作者自己的.NET程序。--------------------------------------------------------------------------------目录
    本文内容
    制作自己的安装程序
    发布.NET Framework
    制作自己的native安装程序
    使用方法
    总结
    作者--------------------------------------------------------------------------------本文内容
    1. 使用VS.NET来制作安装程序。
    2. 如何把.NET Framework 部署到目标机器。
    3. 如何使用Native代码把.NET Framework和自己的安装程序制作为一个统一的安装程序。该程序做到如果目标机器上没有.NET Framework,将自动安装.NET Framework然后再自动安装作者自己的程序。--------------------------------------------------------------------------------制作自己的安装程序
    在VS.NET中,我们可以通过建立"Setup and Deployment Projects"项目,非常灵活方便的把自己的.NET程序制作为Windows Installer文件。比如,我们可以很方便的定制下面这些选项:
    1. 是否在桌面上放置快捷方式。
    2. 注册自己的文件类型,可以通过双击该文件来使用自己的程序打开。
    3. 注册表的处理
    在下面的MSDN站点,我们可以获得在VS.NET中通过Setup and Deployment Projects来制作自己的安装程序的示例:
    http://msdn.microsoft.com/library/en-us/vsintro7/html/vbconDeploymentScenarios.asp--------------------------------------------------------------------------------发布.NET Framework
    .NET Framework 1.0提供一个用来重新部署.NET的exe文件:Dotnetfx.exe. 它包含了Common Language Runtime和其它.NET程序运行时必不可少的内容。
    我们可以从下面的站点下载该exe文件:
    http://msdn.microsoft.com/downloads/sample.asp?url=/MSDN-FILES/027/001/829/msdncompositedoc.xml
    同时,我们也可以在VS.NET安装CD或者DVD中找到该文件。
    我们可以通过多种方式来通过运行Dotnetfx.exe把.NET Framework部署到目标机器上:
    1. 通过Microsoft Systems Management Server部署。
    2. 通过Active Directory部署。
    3. 使用第三方工具。
    具体的信息,我们可以参阅下面的文章:
    http://msdn.microsoft.com/library/en-us/dnnetdep/html/redistdeploy.asp--------------------------------------------------------------------------------制作自己的native安装程序
    如果我们要把自己的.NET程序发布到目标机器上,同时我们不确定该目标机器是否已经安装了.NET Framework, 那我们就需要自己设计一段unmanaged代码,来判断目标机器是否安装了.NET Framework, 如果没有,则运行Dotnetfx.exe安装.NET Framework, 然后利用Windows Installer安装自己的程序。
    在MSDN的下面网页上,我们可以获得一个使用unmanaged C++实现的安装程序和它的源代码:
    http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/830/msdncompositedoc.xml
    1. 在CSettings class中,通过读取"settings.ini",获得您自己的MSI安装文件和dotnetfx.exe的路径,以及其他您自己的设置。(比如.NET Framework的语言版本)
    GetCaptionText(void)
    GetDialogText(void)
    GetErrorCaptionText(void)
    GetIniName(void)
    GetProductName(void)
    Parse()函数用来解析settings.ini文件。
    2. 在Main.cpp文件中,全局函数FxInstallRequired()判断是否要在目标机器上安装.NET Framework. FxInstallRequired()会检测下面的注册表键值和dotnetfx.exe的版本和语言设置。
    HKLM\SOFTWARE\Microsoft\.NETFramework\policy\v1.0
    3.如果需要安装.NET Framework, 在全局函数ExecCmd()中调用下面的命令silent安装dotnetfx.exe:
    dotnetfx.exe /q:a /c:"install /l /q"
    4。 在ExecCmd()全局函数中调用下面的命令安装您自己的MSI文件:
    msiexec /i <your MSI file> REBOOT=ReallySuppress--------------------------------------------------------------------------------使用方法
    如果我们使用上面的native代码作为自己的安装程序,那么我们可以通过下面的步骤把自己的.NET程序和它结合在一起:
    1.把您自己的.NET程序制作成为Windows Installer (.MSI)文件。
    2.打开"settings.ini"文件,在"Msi" key中设置您自己的.NET程序的MSI文件路径和文件名;在"FxInstallerPath" Key中,设置dotnetfx.exe的路径。具体的参数信息,您可以从下面文章中得到:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetdep/html/redistdeploy.asp
    3. 把"setup.exe", "settings.ini", "dotnetfx.exe"和您自己的MSI安装文件,发送到目标机器上,然后运行"setup.exe", 安装程序会自动检测是否有.NET Framwork, 如果没有,将首先运行dotnetfx.exe。
    通过上述步骤,您可以将自己的.NET程序成功的部署到没有安装.NET Framwork环境的机器上。--------------------------------------------------------------------------------总结
    通过上述步骤,您可以将自己的.NET程序成功的部署到没有安装.NET Framwork环境的机器上。--------------------------------------------------------------------------------
      

  21.   

    怎么还有这种人,越活越倒退,了解一些DOTNET在来发表问题吧
      

  22.   

    It's basically the same question as: How do you run Win32 program without Win32 support?You just need to implement all the Win32 functions being used, for example, GDI32.CreateDC, USER32.BeginPaint.How do you run Win32.i386 program without an Intel compatible CPU?Write a CPU simulator to simulate Intel CPU.
      

  23.   

    不可能的吧。不过以后的系统就会自带.NET框架的哟!不用担心!
      

  24.   

    我觉得这次微软有点失误,跟做java学过头了,还说什么java是解释执行,效率不高而他的。net效率很高吗?还是边解释边执行的,竟说是为了平台兼容,平台兼容需要这种执行机智吗?要平台兼容的话,他完全可以先编译成现在这个模式还有道理,但别人在特定的平台下使用的时候还不可以编译为他的本机代码吗?又说运行时的用处,我们可以选择把运行时代码欠入我们的程序吗?不可以啊。
    不想说了,总之希望可以在第一次运行程序时就被编译为完全的本机代码以提高执行效率