急!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,然后运行安装。
---------------------------------------------
怎样将MDAC打包进.Net安装项目中?
在“解决方案资源管理器”选择Setup1安装项目工程,选择“视图”菜单,指向“启动条件”,打开“启动条件”管理器。
在 "启动条件 "管理器中,右键点击 "目标计算机上的要求 ",在弹出的的菜单中选择 "添加注册表启动条件 "。你会发现在 "搜索目标计算机 "中多了一项 "搜索 RegistryEntry1 ",在 "启动条件 "中多了一项 "Condition1 "。
选择 "搜索 RegistryEntry1 ",在 "属性 "对话框中填写如下内容:
Property:MDACSEARCH
RegKey:Software\Microsoft\DataAccess
Root:vsdrrHKLM
Value:FullInstallVer
选择 "Condition1 " ,在 "属性 "对话框中填写如下内容:
Condition:MDACSEARCH> = "2.6 "
进行这一步是因为在安装.NET框架的时候需要MDAC。
______________________________________________________
怎样制作.Net卸载程序?
在打包项目中添加文件msiexec.exe(一般在c:\windows\system32(系统目录中)找到)。
在文件系统视图中选择应用程序文件,在msiexec.exe上单击右键选择“创建快捷方式”,重命名快捷方式为“uninst”.
更改此快捷方式Argmuments为“/x {产品ID}”,产品ID的值为打包项目的ProductCode属性值。
[解决办法]
看看中移动的飞信PC端,是用.net 2.0写的。在它的安装目录里有一个名字是v2.0.50727的子目录,那里就是必要.net 2.0类库。整个目录copy过来用就是了。
[解决办法]
XenoCode 在这里没有任何意义, 你的出发点是装Framework要下载麻烦....
但是你使用XenoCode处理你的一个比如 100k的exe文件处理完是几十兆的一个exe,是不用Framework但是你觉得会有任何意义么?????
反正我是听谁说这东西可以,试了一下我的247k的exe文件处理完是一个 26M 的exe ........个人觉得除了好玩没什么实际作用.
又要用.Net又不要框架就像你又要运行程序又不要机器上有CPU那么好笑....
[解决办法]
没人强迫你装languagepack , 而且打包进去安装就很快了?
我不知道为什么都说framework安装漫长...客户端一般是没有iis的,没看出漫长在哪了.
framework也不仅仅是库, 关键是CLR环境而不是那些库, 如果你觉得漫长,可以用手机PDA上那个小巧玲珑的framework装客户端电脑上, 然后有额外使用的库再自己在安装程序中复制到对应目录..... 总比把CLR打包进安装包好.
楼主的立足点是 "太大 "(不方便下载) 而不是 "安装慢 ",所以说 完全没有意义, 并且你觉得要程序不要CPU不可笑么? 把CPU集成在windows光盘的盒子里不可笑么?
CLR本质上可以认为一个执行IL的CPU, 你的程序就是一堆IL,所以我的比喻并不夸张.
[解决办法]
TO:的确这是个问题,.net安装时间太长了,尤其是2.0,如果能将用到的库带上,打包多方便啊,就象vc、delphi写的程序一样,不要认为可笑,安装framework过程实在太慢长了,还要安装languepack
如果你做的东西够好,用户也不会在意下载+安装所浪费的那么一点时间...
不也就多20M左右吗?别人有的软件都是几百M,不照样从网上下载了再安装吗?所以感觉楼主的主要矛盾不在 "慢 "的问题上...有点时间还不如想想如何把自己的东西做的够牛....
意见仅供参考,如有不当,请谅解....
[解决办法]
程序本身几十K,是以20多MB的FrameWork为代价的
我们写程序时爽,就得在发布的时候费事了