用.net如何将程序集和.net框架打包成一个exe程序,执行exe时就能自动判断是否安装.net框架。

linjiancun 2009-04-09 10:03:18
用了vs2005自带的安装部署,打包成的结果是有2文件和一个文件夹,现在想把这些都打包成一个exe程序,点击exe程序就能自动安装。请问要如何实现!~
...全文
547 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
linjiancun 2009-04-13
  • 打赏
  • 举报
回复
谢谢楼上的几位的回答,我先结贴,等下再开个帖子!~
shidaitianzi 2009-04-11
  • 打赏
  • 举报
回复
学习了
linjiancun 2009-04-11
  • 打赏
  • 举报
回复
暂时还没找到解决方法,继续顶!~
Myth_NiuNiu 2009-04-10
  • 打赏
  • 举报
回复
楼主你想法太独特了,vs自带的肯定是实现不了了
你自己找工具去打包吧
wuyq11 2009-04-10
  • 打赏
  • 举报
回复
通过安装部署打包,通过设置框架从相同目录下载,安装时自动判断。
linjiancun 2009-04-10
  • 打赏
  • 举报
回复
to hilarymoggy:
手动添加的话也不行的,因为c#写的active x插件如果要注册的话必须用 Regasm 命令,而用regasm命令的话必须调用.net 框架里的sdk,这点做起来太烦了。块下班了,还没解决这问题,咳。大家多提点意见我多加点分。
to David_Fighting :
用Installshield里能注册.net dll吗?我试了好几个工具了,大家做.net程序打包的话难道都没打包成一个exe的吗?
David_Fighting 2009-04-10
  • 打赏
  • 举报
回复
其实打包的时候把Framework包在“系统必备里面”,就可以了,安装时提示先安装framework的,没有必要都放在一个包里。要是放一个包里,就用Installshield吧
himoggy 2009-04-10
  • 打赏
  • 举报
回复
“该文件不支持Dllregesiter注册”
貌似是没有装载和卸载入口才会这样
手动添加命令Regsvr32呢?
linjiancun 2009-04-10
  • 打赏
  • 举报
回复
我用了SetupFactory,按照网上找来的说明http://blog.csdn.net/zhanglei5415/archive/2007/12/07/1922558.aspx,添加了对.net framework的引用,这样做确实能判断是否安装.net framework,在对dll的属性里我也发现了active x注册功能,但是还是不能对对dll注册,出现无法注册的提示:该文件不支持Dllregesiter注册提示。如果不喧杂active x注册的话,浏览器中的插件管理中就不会存在这个插件。
tailor_ms 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 saisky 的回复:]
有挺多种方式可以
有直接捆绑在一起的
还有建立依赖关系的
不过个人不建议用捆绑的 挺傻的 一个几百k的软件 绑完.net framework后变得15M多。
[/Quote]

给具体说说吧,你这回答跟没说差不多.
saisky 2009-04-10
  • 打赏
  • 举报
回复
有挺多种方式可以
有直接捆绑在一起的
还有建立依赖关系的
不过个人不建议用捆绑的 挺傻的 一个几百k的软件 绑完.net framework后变得15M多。
tailor_ms 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mykelly6 的回复:]
引用 7 楼 tailor_ms 的回复:
引用 6 楼 Richet512 的回复:
选在。net安装依赖项就可以了


这个怎么选啊,没找到啊.右键属性里没有啊,只有系统必备.

应该就是系统必备了吧。。自己点开看看就是了。
[/Quote]

这样将生成一个.MSI文件和一个文件夹(和楼主说的一样).要的效果是生成一个文件.
十八道胡同 2009-04-10
  • 打赏
  • 举报
回复
帮顶
hanjinkai 2009-04-10
  • 打赏
  • 举报
回复
本身不就带有制作exe项目的功能吗??
mykelly6 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tailor_ms 的回复:]
引用 6 楼 Richet512 的回复:
选在。net安装依赖项就可以了


这个怎么选啊,没找到啊.右键属性里没有啊,只有系统必备.
[/Quote]
应该就是系统必备了吧。。自己点开看看就是了。
tailor_ms 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Richet512 的回复:]
选在。net安装依赖项就可以了
[/Quote]

这个怎么选啊,没找到啊.右键属性里没有啊,只有系统必备.
沅江汐水 2009-04-10
  • 打赏
  • 举报
回复
选在。net安装依赖项就可以了
微醺_zZ 2009-04-10
  • 打赏
  • 举报
回复
如果你用SetupFactory的话就不用对dll进行注册了,直接将DLL文件放到打包的SetupFactory工程中就可以了。
SetupFactory也有注册的功能,这个你可以下载一个SetupFactory看一下,我以前打包的是曾经用过ClickOnce,但我觉得太麻烦了,网上有SetupFactory的使用说明
如果你不会用的话可以给我留言
linjiancun 2009-04-09
  • 打赏
  • 举报
回复
to :liyb5619
由于我要在安装的时候要对dll进行注册,而.net写的dll注册是无法用传统的方式注册的。而用安装部署时设置Register属性设置为vsdrpCOM,就能进行注册了。因此如果能通过vs2005自带的安装部署能注册的话就不用这么麻烦了。
而用安装部署的话会产生好几个文件如果能打包成一个文件安装的话就可以了
tailor_ms 2009-04-09
  • 打赏
  • 举报
回复
我也想知道.
加载更多回复(2)

111,126

社区成员

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

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

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