第一次运行程序的时候检测当前机器是否安装了.net?
   
   要是打包.net进我的程序中,也太大了没有那必要觉得~(有部份用户使用还是已装了.net也要他装?)

解决方案 »

  1.   

    可以检测的吧,好像可以在客户的注册表上去检测的或者检测它安装的版本和你的.net版本是不是一致的!
      

  2.   

    第一次运行程序的时候检测当前机器是否安装了.net? 
    ======================================================
    打包发布的时候可以设置自动检测的,如果没检测到,就自动安装。
        
       要是打包.net进我的程序中,也太大了没有那必要觉得~(有部份用户使用还是已装了.net也要他装?)
    ==================================================================
    不会打包到你的程序中的,是一个单独的安装问题。
      

  3.   

    可以使用InstallShield   Developer   7.03以上版本完成你的要求
      

  4.   

    asp.net中可以这样检测。http://www.tcfco.cn/cto/p238/J23829259.shtml
      

  5.   

    我的程序不需客户端安装的,下载下来,解压,直接运行可以了可以使用InstallShield  Developer  7.03以上版本完成你的要求
    ----这个是一个安装制作程序吧?
    回一楼的:
        当你去检测他的时候,不一样用到你写的.net程序?没有.net你又如何可以运行你的程序去检测呢?回二楼:、
    不会打包到你的程序中的,是一个单独的安装问题。
    。。指的是我发布出去的程序会与.net运行库分离?还是会直接与microsoft网站链接安装?
    要是可以设置是如何的?能说一下么?我没有怎么弄个,第一次写程序,呵呵!
      

  6.   

    这类似于鸡蛋和鸡的问题.
    如果没有.net环境.你写的判断.net环境的代码也不能运行啊?除非你用别的语言写.
      

  7.   

    用VS自带的打包程序有怎么一个功能的,会先判断是否有环境,没有就先安.net
      

  8.   

    可以看一下Windows Live Writer是如何实现这一功能的
      

  9.   

    1. 是检查注册表跟.net相关的键值是否存在.
    2.是检查C:\WINDOWS\Microsoft.NET\Framework目录是否存在需要的.net版本目录
      

  10.   


    主意不错!可以如何做呢?不能用C#写程序,用c++写一个程序引导?不用吧?还有没有别的方法?microsoft有没有生成exe的时候自带个啥功能啊?
      

  11.   

    在VS中新建项目,项目类型选择(其它项目类型-安装和部署),模板选择安装项目,确定后,加入要打包的程序,打开解决方案的属性页,再在属性页中打开系统必备,在里面可以进行设置,这样产生的安装包在安装时如果安装的系统没有.NET环境,会根据你的设置进行相应的操作来安装.NET环境,以便程序顺利运行.
      

  12.   


    有这项的啊?谢谢slcands大哥,我去试试
      

  13.   

    http://download.microsoft.com/download/4/e/f/4ef7254b-d6c2-4f6f-8028-f03a594d5edf/PluginInstaller.msi   
        
      下载了那个插件就可以了,是不是生成的安装文件里面多了一个donetfix和语言包?点击那个setup.exe就可以了,如果没有.net   framework的话,就会自动提示安装的
      

  14.   

    按照slcands大哥的方法,在一台没有.net的机试了一下!问题如下:
       安装会提未需安装.net运行库,但是按装过程时间太长久了,不如下接下载然后去安装的快!期实呢,不需要直接是安装.net,只需要帮我打开个网址叫他自已去下载就可以了!
      还有现在安装过的,下一次换版本安装要删除原来的版本再去装太麻烦了!
      
      其实提供这安装我是不怎么需要的~~ 
      “我只是在运行我的程序前直接提示没有安装的.net程序然后给个网址叫他去下载安装再使用!安装就不需要了”我的程序是个小程序来的就几百K
      

  15.   

    microsoft没有别的解决办法?
      就要用别的程序去写?
    假如我用vb写了一个判断是否装.net的程序那我应怎么集成在我的C#程序呢?
      

  16.   

    你在打包的时候,把.net2.0设置成必选,目录选择和你的应用程序在同一个目录,你用clickone打包之后,就会在你的应用程序生成一个dotnet2.0的安装包。
    应用程序安装的时候,就会自动检测是否安装。
    这样做的唯一缺陷是安装包的文件会比较大一点,差不多30M左右。
    但是你搞个网址让别人下载安装,同样很麻烦,不人性化。
    利弊权衡,我个人认为还是打包好一些。
      

  17.   

    在一些安装包生成工具中,比如说Installshield或者是VS2005的部署工具里面都有这样的项目
    会在安装的时候就去检查机器有没有安装.NET Framework,如果没有安装,是从安装包中解压还是去网上下载
      

  18.   

    可以使用InstallShield  Developer  7.03以上版本完成你的要求 
    好像选择xxx.msi是不会检测的,但Setup.exe就会检测框架
      

  19.   

    从上面的结果看来还是要使用安装软件做的了我就几百K的程序要安装这上2万KB+的程序带动?唉!.net就是这个不好!不过相信以后的系统都自带了这.net鬼东东了吧!弄个提示算了!