.net2.0写的winfrom,如何检测没有安装.net2.0的机器提示他安装?

EexeNet 2008-07-11 11:42:09

   第一次运行程序的时候检测当前机器是否安装了.net?
   
   要是打包.net进我的程序中,也太大了没有那必要觉得~(有部份用户使用还是已装了.net也要他装?)
...全文
495 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
EexeNet 2008-07-11
  • 打赏
  • 举报
回复
我的程序不需客户端安装的,下载下来,解压,直接运行可以了。。。

可以使用InstallShield Developer 7.03以上版本完成你的要求
----这个是一个安装制作程序吧?






回一楼的:
    当你去检测他的时候,不一样用到你写的.net程序?没有.net你又如何可以运行你的程序去检测呢?



回二楼:、
不会打包到你的程序中的,是一个单独的安装问题。
。。指的是我发布出去的程序会与.net运行库分离?还是会直接与microsoft网站链接安装?
要是可以设置是如何的?能说一下么?我没有怎么弄个,第一次写程序,呵呵!
江城老温 2008-07-11
  • 打赏
  • 举报
回复
asp.net中可以这样检测。

http://www.tcfco.cn/cto/p238/J23829259.shtml
江城老温 2008-07-11
  • 打赏
  • 举报
回复
可以使用InstallShield Developer 7.03以上版本完成你的要求
patrickpan 2008-07-11
  • 打赏
  • 举报
回复
第一次运行程序的时候检测当前机器是否安装了.net?
======================================================
打包发布的时候可以设置自动检测的,如果没检测到,就自动安装。
   
   要是打包.net进我的程序中,也太大了没有那必要觉得~(有部份用户使用还是已装了.net也要他装?)
==================================================================
不会打包到你的程序中的,是一个单独的安装问题。
beancurd005 2008-07-11
  • 打赏
  • 举报
回复
可以检测的吧,好像可以在客户的注册表上去检测的

或者检测它安装的版本和你的.net版本是不是一致的!
EexeNet 2008-07-11
  • 打赏
  • 举报
回复
从上面的结果看来还是要使用安装软件做的了。。。

我就几百K的程序要安装这上2万KB+的程序带动?唉!.net就是这个不好!不过相信以后的系统都自带了这.net鬼东东了吧!

弄个提示算了!
我很懒 2008-07-11
  • 打赏
  • 举报
回复
可以使用InstallShield Developer 7.03以上版本完成你的要求
好像选择xxx.msi是不会检测的,但Setup.exe就会检测框架
bluedodo 2008-07-11
  • 打赏
  • 举报
回复
是自动识别的,在发布的时候有选项,不用楼主再写东东去判断
烈火焚身 2008-07-11
  • 打赏
  • 举报
回复
学习了
还想懒够 2008-07-11
  • 打赏
  • 举报
回复
在一些安装包生成工具中,比如说Installshield或者是VS2005的部署工具里面都有这样的项目
会在安装的时候就去检查机器有没有安装.NET Framework,如果没有安装,是从安装包中解压还是去网上下载

comardyang 2008-07-11
  • 打赏
  • 举报
回复
你在打包的时候,把.net2.0设置成必选,目录选择和你的应用程序在同一个目录,你用clickone打包之后,就会在你的应用程序生成一个dotnet2.0的安装包。
应用程序安装的时候,就会自动检测是否安装。
这样做的唯一缺陷是安装包的文件会比较大一点,差不多30M左右。
但是你搞个网址让别人下载安装,同样很麻烦,不人性化。
利弊权衡,我个人认为还是打包好一些。
EexeNet 2008-07-11
  • 打赏
  • 举报
回复
microsoft没有别的解决办法?
  就要用别的程序去写?


假如我用vb写了一个判断是否装.net的程序那我应怎么集成在我的C#程序呢?
还想懒够 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 GhostAdai 的回复:]
引用 6 楼 bbbbbb888888 的回复:
这类似于鸡蛋和鸡的问题.
如果没有.net环境.你写的判断.net环境的代码也不能运行啊?除非你用别的语言写.


严重同意!!
[/Quote]
EexeNet 2008-07-11
  • 打赏
  • 举报
回复
按照slcands大哥的方法,在一台没有.net的机试了一下!

问题如下:
   安装会提未需安装.net运行库,但是按装过程时间太长久了,不如下接下载然后去安装的快!

期实呢,不需要直接是安装.net,只需要帮我打开个网址叫他自已去下载就可以了!


  还有现在安装过的,下一次换版本安装要删除原来的版本再去装太麻烦了!
  
  其实提供这安装我是不怎么需要的~~ 


  “我只是在运行我的程序前直接提示没有安装的.net程序然后给个网址叫他去下载安装再使用!安装就不需要了”

我的程序是个小程序来的就几百K
guying999 2008-07-11
  • 打赏
  • 举报
回复
http://download.microsoft.com/download/4/e/f/4ef7254b-d6c2-4f6f-8028-f03a594d5edf/PluginInstaller.msi

下载了那个插件就可以了,是不是生成的安装文件里面多了一个donetfix和语言包?点击那个setup.exe就可以了,如果没有.net framework的话,就会自动提示安装的
EexeNet 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 slcands 的回复:]
在VS中新建项目,项目类型选择(其它项目类型-安装和部署),模板选择安装项目,确定后,加入要打包的程序,打开解决方案的属性页,再在属性页中打开系统必备,在里面可以进行设置,这样产生的安装包在安装时如果安装的系统没有.NET环境,会根据你的设置进行相应的操作来安装.NET环境,以便程序顺利运行.
[/Quote]

有这项的啊?谢谢slcands大哥,我去试试
slcands 2008-07-11
  • 打赏
  • 举报
回复
在VS中新建项目,项目类型选择(其它项目类型-安装和部署),模板选择安装项目,确定后,加入要打包的程序,打开解决方案的属性页,再在属性页中打开系统必备,在里面可以进行设置,这样产生的安装包在安装时如果安装的系统没有.NET环境,会根据你的设置进行相应的操作来安装.NET环境,以便程序顺利运行.
EexeNet 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sawam 的回复:]
1. 是检查注册表跟.net相关的键值是否存在.
2.是检查C:\WINDOWS\Microsoft.NET\Framework目录是否存在需要的.net版本目录
[/Quote]

主意不错!可以如何做呢?不能用C#写程序,用c++写一个程序引导?不用吧?还有没有别的方法?microsoft有没有生成exe的时候自带个啥功能啊?
sawam 2008-07-11
  • 打赏
  • 举报
回复
1. 是检查注册表跟.net相关的键值是否存在.
2.是检查C:\WINDOWS\Microsoft.NET\Framework目录是否存在需要的.net版本目录
Macosx 2008-07-11
  • 打赏
  • 举报
回复
可以看一下Windows Live Writer是如何实现这一功能的
加载更多回复(4)

110,032

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧