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得到)