JBTALKS.CC

标题: [分享]让.net applications不需要装.net framework就可以跑的软件 [打印本页]

作者: goodhermit95    时间: 2009-11-9 11:03 AM
标题: [分享]让.net applications不需要装.net framework就可以跑的软件
http://www.remotesoft.com/linker/
通常这类的软件是什么?XXInstaller...会把.net framework installer放在里面,检查了没有.net framework就安装……如果你是拿来卖的,那么你可以放在光碟,这个是最适合不过了

但是如果你要做小软件放上网的呢?你有自己的server,流量增加20MB+,你没有,用rapidshare 等等多20MB多麻烦

此时,你会说,为什么不要直接叫用户装.net framework
我那我的hacker studio来做例子好了,我现在已经放了跑不到请安装.net framework,可是很多人还是跑来跟我讲出现一个(X),什么initerazing error  《还有slang,pekcek 到要死
所以这个软件真的是太好了

这个软件的原理是把该软件的refrence/assemblities(system,system.windows.forms,system.drawing etc.) merge在exe里面(如果你说把这些refrence copy local的话还是会出现跟你说没有装.net framework的现象,原因是我认为电脑不会用这些dll)

http://www.remotesoft.com/deprotector/
还有这个是防止人家用il disassembler来decompile你的program
作者: goodhermit95    时间: 2009-11-9 11:14 AM
这个公司还有.net decompiler
太爽了

作者: Super-Tomato    时间: 2009-11-9 03:30 PM
如果 merge 到执行檔中的話,相對的执行檔也會變大,而 Windows 只是在 run 的时候把 .net 所需的 framework 载入到 memory 中。但始终還是达不到不依赖, 只能算是修改成 portable 類型
作者: ~Zero    时间: 2009-11-9 07:49 PM
java 我也遇到类似的问题. 就写好的 program 给别人, 结果是因为没有 jre 或者 version 问题而跑不到被 complain. sien 死.

tomato 有没有好方法吗?
我找过了, 市面上是很多 java wrapper, 可是都没找到免费的. shareware 就有.

java launcher 是有一点点帮助, 可是我比较想要的是像楼主的 linker 那种, 把 jre 一起给客户, 然后不需要执行系统 java_home 的 jre, 直接 run folder 里面的就好了. version 绝对不会有问题了.

AOT compiler 只有两个, 一个是 GNU compiler, 那个我不会用.
excelsior jet 只有 trial 是免费的...
作者: Super-Tomato    时间: 2009-11-9 08:50 PM
原帖由 ~Zero 于 2009-11-9 07:49 PM 发表
java 我也遇到类似的问题. 就写好的 program 给别人, 结果是因为没有 jre 或者 version 问题而跑不到被 complain. sien 死.

tomato 有没有好方法吗?
我找过了, 市面上是很多 java wrapper, 可是都没找到免费 ...



把 jre 放在你的程式的资料夹中試過了嗎?? 资料夹名称需是 jre
要不然就试试看下載網上所提供的免安裝版本
作者: goodhermit95    时间: 2009-11-9 09:07 PM
标题: 回复 #3 Super-Tomato 的帖子
我就是要把用到的assembly放进program
.net framework整个安装就2x mb
WPF呢?就要.net 3.0囖
作者: fyhao    时间: 2009-11-9 11:13 PM
当XP再见的时候,window vista window 7 应该都附上 .net 了。
但XP还有一段时间要走
作者: Super-Tomato    时间: 2009-11-9 11:56 PM
原帖由 goodhermit95 于 2009-11-9 09:07 PM 发表
我就是要把用到的assembly放进program
.net framework整个安装就2x mb
WPF呢?就要.net 3.0囖


把 Assembly 放进 program??? 怎么越看就越亂
作者: goodhermit95    时间: 2009-11-10 11:59 AM
标题: 回复 #8 Super-Tomato 的帖子
merge进去exe的意思……
exe要运用的时候就从已经merge进去的assembly使用.net 架构
好像是把dll换成exe里面的其中一个class所以il disassember开的时候就会出现system,system.drawing等等的域名
此外还要在exe的header让系统知道怎么用.net framework的dll

其实微软提供的ILMerge也可以把所需要用到的assembly merge进exe 但是merge .net framewoek assemblities的时候就会出现exception
当XP再见的时候,window vista window 7 应该都附上 .net 了。
但XP还有一段时间要走

但现在的问题就是很多人还在用windows XP
作者: Super-Tomato    时间: 2009-11-10 01:43 PM
原帖由 goodhermit95 于 2009-11-10 11:59 AM 发表
merge进去exe的意思……
exe要运用的时候就从已经merge进去的assembly使用.net 架构
好像是把dll换成exe里面的其中一个class所以il disassember开的时候就会出现system,system.drawing等等的域名
此外还 ...



=_= 那麼你對 dll 的运作理解错误了
作者: goodhermit95    时间: 2009-11-10 05:50 PM
标题: 回复 #10 Super-Tomato 的帖子
dll 不就是从exe连接入dll用dll里面的function吗?
.net framework里面的 function大部分都在 system
system.string
system.integer etc
哪儿有错 em0010
作者: Super-Tomato    时间: 2009-11-10 07:46 PM
原帖由 goodhermit95 于 2009-11-10 05:50 PM 发表
dll 不就是从exe连接入dll用dll里面的function吗?
.net framework里面的 function大部分都在 system
system.string
system.integer etc
哪儿有错 em0010


你去找找 dll 的說明看看运作原理吧




欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/) Powered by Discuz! X2.5