社区
C#
帖子详情
续 打包Winform的应用程序?急..
jieon
2009-04-23 11:49:11
我想打包一个Winfrom 应用程序,有什么办法可以在没装框架且没联网的机器上部署?
别说把框架也附带打包过去,那样会很大的,程序本身只是个小东西,我想问下有没有什么办法、
或则工具可以把它打包成一个小的安装程序且集成了框架。?
...全文
407
17
打赏
收藏
续 打包Winform的应用程序?急..
我想打包一个Winfrom 应用程序,有什么办法可以在没装框架且没联网的机器上部署? 别说把框架也附带打包过去,那样会很大的,程序本身只是个小东西,我想问下有没有什么办法、 或则工具可以把它打包成一个小的安装程序且集成了框架。?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
以专业开发人员为伍
2010-08-08
打赏
举报
回复
http://www.google.com.hk/search?hl=zh-CN&lr=lang_zh-CN%7Clang_zh-TW&newwindow=1&safe=strict&rls=com.microsoft%3Azh-cn%3AIE-SearchBox&tbs=lr%3Alang_1zh-CN%7Clang_1zh-TW&q=.net+salamander&aq=f&aqi=&aql=&oq=&gs_rfai=
不过没多大用,只是玩玩就行了。
以专业开发人员为伍
2010-08-08
打赏
举报
回复
[Quote=引用 3 楼 liguoliangaccp 的回复:]
你看看这个吧,不知道能不能有用
本来想把用C#写的程序重写移植到win32平台的,但是感觉重写好累,而且不是很熟练,就想着能不能在未安装.net的机器上运行,有需就有求,嘎嘎,百度了一会,已经有各位老大们已经在讨论用飞信的虚拟机平台来进行加载运行.net程序了,于是自己就想着去尝试着去做一下。
(PS:飞信的就是在.net平台上开发的,不同的是飞信做了一个.net虚拟机的平台,这样就能在非……
[/Quote]
飞信做了个虚拟机平台?飞信远没有这个本事。
它在编译时使用了salamandar。不知道这个是什么,就还真的会联想为虚拟机平台上么?哦卖狗的。
jieon
2009-04-24
打赏
举报
回复
[Quote=引用 12 楼 findcaiyzh 的回复:]
引用 9 楼 jieon 的回复:
我用的是2008 能用.net 2.0 Redistributable package吗?
如果你没有用到.net 3.5的features的话,可以在项目属性中选择基于framework2.0.
就可以使用.net 2.0 Redistributable package了。
[/Quote]
这方法不错
wudaoyin
2009-04-24
打赏
举报
回复
等待微软改进,不然我们写的小程序每次都要打包,郁闷。。。
y9313
2009-04-24
打赏
举报
回复
顶下 学习个
貌似没有什么好的解决办法
宝_爸
2009-04-24
打赏
举报
回复
[Quote=引用 9 楼 jieon 的回复:]
我用的是2008 能用.net 2.0 Redistributable package吗?
[/Quote]
如果你没有用到.net 3.5的features的话,可以在项目属性中选择基于framework2.0.
就可以使用.net 2.0 Redistributable package了。
ak8800
2009-04-23
打赏
举报
回复
那就换一个开发工具得了,winform的开发工具那么多,还非得用vs码?
linjiancun
2009-04-23
打赏
举报
回复
关注中!~
blestcc
2009-04-23
打赏
举报
回复
不包進去沒辦法的。
liguoliangaccp
2009-04-23
打赏
举报
回复
你看看这个吧,不知道能不能有用
本来想把用C#写的程序重写移植到win32平台的,但是感觉重写好累,而且不是很熟练,就想着能不能在未安装.net的机器上运行,有需就有求,嘎嘎,百度了一会,已经有各位老大们已经在讨论用飞信的虚拟机平台来进行加载运行.net程序了,于是自己就想着去尝试着去做一下。
(PS:飞信的就是在.net平台上开发的,不同的是飞信做了一个.net虚拟机的平台,这样就能在非安装.net的机器上运行了)
开始动手^_^
由于启动文件要在win32上运行,所以就用了VC++6来进行写程序了,使用该启动程序来进行启动外部程序(我们的.net程序)
代码如下
// 文本隔行加亮2.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
HKEY hKey;
LPCTSTR path="SOFTWARE\\Microsoft\\.NETFramework\\v2.0.50727";
//打开注册表键,查看系统是否安装了.net Frameworkv2.0
LONG lResult=(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,path,0,KEY_READ,&hKey));
::RegCloseKey(hKey);
if(!lResult==ERROR_SUCCESS)//若不是返回成功
{
//MessageBox(NULL,"由于是用飞信的.net虚拟机加载启动的\n所以启动会有点慢,请稍候几秒钟\n\n请\"确认\"后继续","Hello",MB_OK);
WinExec("FetionVM.exe 文本隔行加亮.exe", SW_SHOW);
}
else
{
WinExec("文本隔行加亮.exe",SW_SHOW);
}
return 0;
}
代码不多说了,注释里都有,通过读取注册表看看有没有安装.net2.0(net3.5增加了新功能,核心还是2.0,所以2.0就足够运行了),如果有,就直接运行了,就不使用虚拟机加载了。
然后debug没有什么错误之后,release下,
然后把飞信的一些东东“借”过来用了哈,文件在D:\Program Files\China Mobile\Fetion\VMDotNet\v2.0.50727(把这个目录下的文件全部考走)
然后把这些文件和release的exe放到一起。
这些工作完成后,就可以进行打包了
第一想到的就是用vs08中的安装部署进行打包,Build一次到同学那未安装.net的机子试了下后,发现不行,提示安装.net,
因为.net在安装部署时会自动检测“依赖项”,由于我需要加载的net程序依赖于.net平台,
所以微软强制了这个“依赖项”(感觉微软应该把这个强制给删了,虽然强制有一定的好处,但是提供选择岂不是更好),
无奈,只有想别的方法去打包,然后想用InstallShield来打包,于是找来vc6的安装盘把这个装了下,由于没用过,就问了下同学,
同学说需要专门的语言来写点东西,啊啊,现在很急着用,所以再次放弃,到网上去淘那些“傻瓜”式的打包软件,
嘎嘎,找个了Setup2Go的打包软件,很好用哈,(有想要的直接baidu这个软件名,N多链接),很快的,打包完毕,Perfect!^_^
到了个未安装.net的机器上测试了下,完全没问题哈,只是使用虚拟机来加载时可能打开时会有2秒左右的延迟,嘎嘎,要稍等,
不过已经很好了哈,恩恩,安装包文件10M左右,对比过去单个exe的80Kb来说是大了不少,不过这样对于一个不想装190多M的.net库的人来说,很值了哈^_^
顺便说下:想要.net程序完全脱离.net平台是不可能的哈,即使用虚拟机来加载那也毕竟是个.net的虚拟机
jieon
2009-04-23
打赏
举报
回复
[Quote=引用 1 楼 ak8800 的回复:]
如果不打包framework好像更麻烦,还不如直接打包了呢
[/Quote]
一个小程序几百K 把框架打上就几百M啊....这哪行..
ak8800
2009-04-23
打赏
举报
回复
如果不打包framework好像更麻烦,还不如直接打包了呢
jieon
2009-04-23
打赏
举报
回复
来人啊~~~~~~~~~~~~~~~~~·
jieon
2009-04-23
打赏
举报
回复
[Quote=引用 8 楼 wuyq11 的回复:]
不打包框架,用飞信虚拟机和MONO实现部署
[/Quote]
能说下解决方案吗
jieon
2009-04-23
打赏
举报
回复
[Quote=引用 7 楼 findcaiyzh 的回复:]
最好还是将framework打包进去。
没有那么大吧,.net 2.0 Redistributable package 22.4 M
http://www.microsoft.com/downloads/details.aspx?familyid=79BC3B77-E02C-4AD3-AACF-A7633F706BA5&displaylang=en
[/Quote]
我用的是2008 能用.net 2.0 Redistributable package吗?
wuyq11
2009-04-23
打赏
举报
回复
不打包框架,用飞信虚拟机和MONO实现部署
宝_爸
2009-04-23
打赏
举报
回复
最好还是将framework打包进去。
没有那么大吧,.net 2.0 Redistributable package 22.4 M
http://www.microsoft.com/downloads/details.aspx?familyid=79BC3B77-E02C-4AD3-AACF-A7633F706BA5&displaylang=en
将
winform
应用程序
打包
成exe文件
将写好的
winform
应用程序
打包
成一个.EXE结尾的可执行文件,可以安装到自己的电脑上面,有图和文字说明
C#如何为
winform
程序
打包
发布应用(图解教程))
C#为
winform
程序
打包
发布应用(图解教程))
vs2010
打包
winform
安装程序
vs2010
打包
winform
安装程序 ,快速实现程序安装部署。
如何为
winform
程序
打包
发布应用
如何为
winform
程序
打包
发布应用,本人觉得这是一篇讲解独特简单明了的文章!
winform
打包
工具.rar
winform
窗体
应用程序
一件
打包
,生成可安装程序,可设置图表,安装密码等操作
C#
110,586
社区成员
642,561
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章