以文本方式查看主题

-  曙海教育集团论坛  (http://peixun0.cn/bbs/index.asp)
--  Microsoft.NET Framework  (http://peixun0.cn/bbs/list.asp?boardid=78)
----  让你的.NET程序脱离Framework跑起来  (http://peixun0.cn/bbs/dispbbs.asp?boardid=78&id=2614)

--  作者:wangxinxin
--  发布时间:2010-12-14 16:34:24
--  让你的.NET程序脱离Framework跑起来

Mono虽好,可是他毕竟不是Microsoft .NET Framework,至少它的WinForms是采用了java里swing同样的方法,所以无论用户的主题多么漂亮,WinForm都是传统的Windows界面,作为桌面应用时就显得格格不入。

安装

但.NET核心文件并不多(相对而言,相比mono你会发现他很庞大)

我给出我的报告文件,看这个要比看那2mb的log轻松得多。

///////////////////////

files:

c:\\windows\\system32\\mscoree.dll

c:\\windows\\system32\\mscorier.dll

c:\\windows\\system32\\mscories.dll

c:\\windows\\system32\\dfshim.dll

c:\\windows\\system32\\netfxperf.dll

这几个文件一定要放在system32下面

C:\\windows\\system32\\mui\\0409\\mscoreer.dll

C:\\windows\\system32\\mui\\0409\\mscorees.dll

我猜想mui下面其他版本的也是必须的

C:\\WINDOWS\\assembly\\GAC_32\\mscorlib\\2.0.0.0__b77a5c561934e089

c:\\windows\\assembly\\gac_32\\[others]

需要其他的组件也要添加,比如System.Windows.Forms

C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\mscorjit.dll

C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\mscorwks.dll

C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\[others]

这个文件夹下面只需要mscorjit.dll mscorwks.dll两个文件就可以使console运作正常,其他的我还没试过

c:\\windows\\winsxs\\Manifests\\...

c:\\windows\\winsxs\\policies\\...

c:\\windows\\winsxs\\...

winsxs下有很多重要的组件,版本也很繁杂。确保一个都不能少。这些文件支撑着mscorwks.dll,没有他,mscorwks也无法加载。

////////////////////////////

REG:

HKEY_CLASSES_ROOT\\TypeLib\\{BED7F4EA-1A96-11D2-8F08-00A0C9A6186D}

HKEY_CLASSES_ROOT\\TypeLib\\{BED7F4EA-1A96-11D2-8F08-00A0C9A6186D}\\2.0 = REG_SZ, "mscorlib.dll"

HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\.NETFramework\\InstallRoot = "REG_SZ,C:\\WINDOWS\\Microsoft.NET\\Framework\\"

  只要设置了安装位置,jit自己能找到相应的framework

  有了这些文件,你就能运行.net 2.0的程序了。当然这是最小要求。

  我提供这些文件清单不是想让你把他们弄到你客户的电脑里去,而是希望有人能做出像thinstall那样的虚拟环境供程序运行,那么提供thinstall那样的功能也就不是什么难事了。

.NET Framework时,他对你系统的改动还真不少,光是一个记录文件就有2mb。(在一个不带.net framework的winxp sp2虚拟机上安装.net framework 2.0得到)