社区
C#
帖子详情
续 打包Winform的应用程序?急..
jieon
2009-04-23 11:49:11
我想打包一个Winfrom 应用程序,有什么办法可以在没装框架且没联网的机器上部署?
别说把框架也附带打包过去,那样会很大的,程序本身只是个小东西,我想问下有没有什么办法、
或则工具可以把它打包成一个小的安装程序且集成了框架。?
...全文
462
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`可执行文件,主要是为了让用户能够在不依赖开发环境的情况下方便地在他们的计算机上运行程序。以下是一个详细步骤的说明,包括使用Visual Studio的安装向导来创建安装包。 1....
winform
打包
工具 生成程序安装包
这里提到的"
winform
打包
工具"就是用于将
WinForm
应用程序
整合成可执行的安装程序的工具。这类工具可以创建包含所有必要依赖的自解压或 MSI 安装程序,确保用户可以在不同的Windows系统上顺利安装和运行我们的应用。 ...
winForm
程序
打包
工具
WinForm
程序
打包
工具是开发Windows桌面
应用程序
过程中必不可少的辅助软件,它主要用于将开发完成的
WinForm
应用程序
整合成一个可执行文件或安装包,方便用户在不同的计算机上安装和运行。
WinForm
是.NET Framework下的...
Winform
打包
工具.免安装版
Winform
打包
工具是一款专为Windows桌面
应用程序
设计的实用工具,主要针对基于...总之,
Winform
打包
工具是开发和部署
Winform
应用程序
的重要辅助工具,通过合理使用,可以使你的程序更加专业、易用,并且便于分发和维护。
winform
开发ico图标合集.rar
5. **使用方法**:在
Winform
应用中,可以通过`System.Drawing.Icon`类加载ico图标,并将其设置给控件的`Icon`属性。例如,为窗体设置图标: ```csharp System.Drawing.Icon formIcon = new System.Drawing.Icon(...
C#
111,126
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章