日期:2014-05-20  浏览次数:21148 次

急!winform,如何不安装framework也能运行程序?
据说可以把程序用到的dll都给提取出来,然后进行注册即可,不用安装framework,但是本人试验没有实现,请指教!
如果有用其他软件如XenoCode的也可以,请提供一个能用的版本。
环境是:.net   2.0
非常感谢!

------解决方案--------------------
楼主不要做这种事情,没有太大的意义,也不通用.
如果实在不想用.NET的框架,那么用VC.NET的MFC编译就行了,把MFC类库编译成静态的就以用到别的机子上了.
------解决方案--------------------
装个framework或者打包进去似乎也不是多麻烦的事,不过你要是不装的话,那麻烦可能就大了,还是装上吧
------解决方案--------------------
这个是必须 的
最多是把 你程序没有 用到的动态库
给删除。
------解决方案--------------------
装一个好像也没太多麻烦吧...
------解决方案--------------------
TO:装一个首先是从网络下载比较慢,第二装起来需要5分钟(一般机器),很多人受不了哇

干嘛要从网络上下载呢,打包安装时直接将其打进去不就行了吗?安装时会自动检测,如果机器上有Framwork的话,就不会安装,如果没有的话,会自装安装的...
------解决方案--------------------
不可能的事情,.net的程序都运行在 .net framework CLR上面的,你不装这个,让程序在哪运行呢?就像Java程序不要JVM也没法运行。
------解决方案--------------------
对了,你们可以看看中国移动那个飞信的客户端,装好以后有个VMDotNet的目录
------解决方案--------------------
TO:XenoCode,这个软件好像就可以混淆一下,就不用装framework了,

对于xenoCode不太了解...

就算它能用,那它是什么原理呢?能不能达到和装上Framwork一样的效果?这个我还有点怀疑....


------解决方案--------------------
.net在程序编译时不是把它编译成机器语言的.而是编译成中间语言(IL).在运行转成机器语言.所以不装Framework基本是...
------解决方案--------------------
http://www.sdlunzhong.cn/itres/showitnews.aspx?id=206

最近为部署.Net程序感觉微软让人有些失望,希望.Net尽快成为windows操作系统的标准件。


将.Net程序部署到没有安装.Net Framwork的机器上

部署在.Net 平台下开发的应用程序,需要安装安装对应版本的.Net Framwork,而Vsual Studio 2003并没有提供一起打包的功能,如何将.Net Framework安装部署到客户机上呢? 其实微软提供了我们一个安装引导插件(Microsoft Visual Studio .NET 2003 引导程序插件),可以帮助我们在打包时,它会自动将.Net Framework打包放入你的安装程序中,完成了我们想要的功能。
建立安装程序项目,将自己需要打包的程序加入进去,编译过后,你会注意到在生成的安装目录下,你将会注意到多了几个文件(dotnetfx.exe、Config.ini、langpack.exe、Settings.ini),详细介绍如下:
Config.ini -- 安装配置文件
dotnetfx.exe -- .Net Framework组件
langpack.exe -- 语言包
Settings -- 设置文件
ItemSoft.msi -- .msi安装文件
Setup.exe -- 主安装程序
[config.ini]
IDS_NOT_SINGLE_INSTANCE=已有另一版本的安装程序正在运行。 该应用程序一次只能运行一个版本。
IDS_DIALOG_CAPTION=%s 安装
IDS_SINGLE_INSTANCE_FAIL=CreateMutex 无法对单个的实例检查分配句柄。
IDS_SETUP_FAILURE=%s 安装失败。如果问题继续存在,请与产品支持人员联系。
IDS_DEFAULT_PRODUCTNAME=应用程序
IDS_SETTINGS_INIT_FAILURE=安装设置文件 '%s '在解析时出错,或者无法定位该文件。
IDS_CREATE_PROCESS_FAILURE=下列命令行的 CreateProcess 操作失败: %s 。
IDS_INSUFFICIENT_PRIVILEGES=运行 %s 安装程序要求具有本地系统管理员的权限。安装程序现在退出。
IDS_DIALOG_TEXT=单击“确定”开始安装 %1 。单击“取消”退出安装。
IDS_ERROR_CAPTION=%s 安装错误
IDS_VERSION_DETECT_FAILED=%1 的版本检测失败。请确保安装程序存在于指定位置。%n%n返回消息: %2
IDS_MSI_NOT_FOUND=无法定位产品安装程序 '%s '。安装程序现在退出。
IDS_REBOOT_QUERY=安装完成。现在重启吗?
IDS_SETUP_SUCCEEDED=安装成功。
IDS_INVALID_LANGID_CAPTION=无效的语言包代码
IDS_FX_NOT_FOUND=无法定位 .NET framework exe 文件 '%s '。安装程序现在退出。
IDS_INVALID_LANGID_MESSAGE=语言包代码 %s 无效。跳过...
IDS_LANGPACK_NOT_FOUND=无法定位语言包 %s。安装程序现在退出。
IDS_MDAC_NOT_FOUND=无法定位 MDAC exe 文件 '%s '。安装程序现在退出。
IDS_FILE_NOT_FOUND=无法定位 '%1 '。安装程序现在退出。

[Bootstrap]
MsiPath=Setup.msi
ProductName=
MdacVersion=2.71
BootstrapFx=true
FxInstallerPath=
LanguageID=2052
BootstrapLangPack=true
LangPackInstallerPath=
BootstrapMdac=false

这种方法能够很简单的将.Net Framwork与你的应用程序一起打包到安装程序中,并且自动检测客机上的是否安装过.Net Framework,然后运行安装。