Szerző: Elbandi | Dátum: 2008-05-10 17:30 | Rovat: Számtech
[ Új cikk ]
Microsoft féle .NET programok futtatásához szükség van a környezet telepítéséhez. Az egyes verziók nem helyettesítik egymást, így mindegyiknek fenn kell lennie a rendszeren. (1.1, 2.0, 3.0, 3.5). Az első kettőnek mar van SP1-e is. A telepítéshez szükséges csomagok letöltése a netről nehézkes, telepítése is viszonylag hosszú idő. Most egy olyan csomagot fogunk csinálni, amiben benne van mindegyik környezet, beavatkozás nélkül települ, mérete pedig ~60 mega körül van.
Az egyes környezetekből un. adminisztratív telepítési pontot hozunk létre, amibe integráljuk az esetleges SP-ket, és nyelvi csomagokat. A fájlokból a nyílt forráskódú 7-zip segítségével csinálunk önkicsomagoló exet.
A parancsok nagy részét parancssorból futtatjuk, de kötegelni (batch) nem lehet, mert a msiexec háttérbe megy, egyből visszaadja a vezérlést a parancssornak, ami ráindítja a következő msiexec-t, aminek nemlesz jó vége.
A leírásban az E:\dotnet könyvtárba fogunk dolgozni, lehet használni másik könyvtárat. A adminisztratív telepítési pont létrehozásához admin jogok kellenek, tehát aki sima felhasználóként használja a windowst (mint én), át kell lépnie admin felhasználóba.
Szükséges fájlok
7-Zip tömörítő és kicsomagoló program:
7za457.zip és
7z457_extra.7z
Két egyszerű program az önkicsomagolóba:
exectools.7z
Újraterjeszthető csomag a Microsoft® .NET-keretrendszer 1.1-es verziójához:
dotnetfx.exe
Microsoft .NET-keretrendszer 1.1 1. szervizcsomag:
NDP1.1sp1-KB867460-X86.exe
A .NET-keretrendszer 1.1 SP1 SYSTEM.WEB.DLL és MSCOREE.DLL fájljának biztonsági frissítése a Windows 2000 és a Windows XP rendszerhez:
NDP1.1sp1-KB928366-X86.exe
Magyar nyelvi csomag a Microsoft .NET-keretrendszer 1.1-es verziójához:
langpack.exe
Microsoft .NET-keretrendszer 3.5 :
oldal közepén: Teljes újraterjeszthető csomag:
dotnetfx35.exe
Nyelvi csomag a Microsoft .NET-keretrendszer 3.5-ös verziójához:
dotnetfx35langpack_x86hu.exe
A letöltött csomagokat az E:\dotnet\pack könyvtárba tegyük, innen fogok rájuk hivatkozni.
Egy Total Commander segítségével a 7z457_extra.7z fájlból másoljuk a 7zr.exe és a 7zS.sfx fájlokat az E:\dotnet-be. A 7za457.zip fájlból pedig a 7za.exe-t kell kicsomagolni.
A következő utasításokat egy parancsorból tegyük. (némelyik parancs olyan hosszú, hogy kilóghat az oszlopból, így nem látszik a vége, de a nyomtatóbarát verzióban már jo)
Létrehozzuk a könyvtárakat
mkdir e:\dotnet\full
mkdir e:\dotnet\full\Dnf11
mkdir e:\dotnet\full\Dnf20
mkdir e:\dotnet\full\Dnf30
mkdir e:\dotnet\full\Dnf35
mkdir e:\dotnet\full\DnfLP
mkdir e:\dotnet\temp
Előkészítjük a .NET 1.1-et
Kicsomagoljuk a packokat, elkészítjük az admin telepítési pontot, és megfejeljük a SP1-el és a gyorsjavítással, valamint a nyelvi csomaggal:
E:\dotnet\pack\dotnetfx.exe /t:E:\dotnet\temp /C
E:\dotnet\pack\NDP1.1sp1-KB867460-X86.exe /XP:E:\dotnet\temp
E:\dotnet\pack\NDP1.1sp1-KB928366-X86.exe /XP:E:\dotnet\temp
E:\dotnet\pack\langpack.exe /C /T:e:\dotnet\temp
msiexec /passive /a e:\dotnet\temp\netfx.msi TARGETDIR=E:\dotnet\full\Dnf11
msiexec /p E:\dotnet\temp\S867460.msp /a E:\dotnet\full\Dnf11\netfx.msi
msiexec /p E:\dotnet\temp\M928366.msp /a E:\dotnet\full\Dnf11\netfx.msi
msiexec /passive /a e:\dotnet\temp\langpack.msi TARGETDIR=E:\dotnet\full\Dnf11
del /q e:\dotnet\temp\*
Előkészítjük a .NET 2.0-at
E:\dotnet\pack\dotnetfx35.exe /X:E:\dotnet\temp
E:\dotnet\pack\dotnetfx35langpack_x86hu.exe /X:E:\dotnet\temp\lang
msiexec /a e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\Netfx20a_x86.msi TARGETDIR=E:\dotnet\full\Dnf20
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\ASPNET.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\clr.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\crt.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\NetFX_CA.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\NetFX_Core.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\NetFX_Other.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\prexp.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\winforms.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX20\dw.msp /a E:\dotnet\full\Dnf20\Netfx20a_x86.msi
Előkészítjük a .NET 3.0-at
msiexec /a e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\RGB9RAST_x86.msi TARGETDIR=E:\dotnet\full\Dnf30
msiexec /a e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\Netfx30a_x86.msi TARGETDIR=E:\dotnet\full\Dnf30
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WCF.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WCS.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WF.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WPF1.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WPF2.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WPF_Other.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\XPS.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WF_32.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WPF2_32.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
msiexec /p e:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WPF_Other_32.msp /a E:\dotnet\full\Dnf30\Netfx30a_x86.msi
E:\dotnet\7za.exe x -oE:\dotnet\full\Dnf30\Wic E:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\WIC_x86_enu.exe
E:\dotnet\7za.exe x -oE:\dotnet\full\Dnf30\Xpsepsc -x!amd64 E:\dotnet\temp\wcu\dotNetFramework\dotNetFX30\XPSEPSC-x86-en-US.exe
Előkészítjük a .NET 3.5-at
E:\dotnet\7za.exe x -oe:\dotnet\full\Dnf35 E:\dotnet\temp\wcu\dotNetFramework\dotNetFX35\x86\netfx35_x86.exe vs_setup.*
A 2.0, 3.0 és 3.5-hoz egyben van a nyelvi csomag (a *.msu fájlok nem kellenek, azt a Vista használja):
del E:\dotnet\temp\lang\*.msu
xcopy E:\dotnet\temp\lang\*.* e:\dotnet\full\DnfLP /E
Önkicsomagoló fájl elkészítése
A E:\dotnet-ban hozzunk létre egy config.txt fájl, ezzel a tartalommal:
;!@Install@!UTF-8!
Title="Microsoft .NET Framework"
RunProgram="hidcon.exe install.cmd"
;!@InstallEnd@!
A http://pastebin.com/f3e236144 linkről a kódot mentsük el az E:\dotnet\full könyvtárba Install.cmd néven.
Majd parancssorban:
cd E:\dotnet\full
E:\dotnet\7za.exe x -oE:\dotnet\full E:\dotnet\pack\exectools.7z
..\7zr a ..\archive.7z * -m0=BCJ2 -m1=LZMA:d25:fb255 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 -mx
cd E:\dotnet
copy /b 7zS.sfx + config.txt + archive.7z dotnet_full.exe
Ezzel létre is jött a ~60 megás önkicsomagoló pack.
Mindigis utáltam ezt a rohadék .NET dolgot... már van fent vagy 5 féle, de még mindig nem elég neki. 
Múltkor akartam telepíteni valami időjárás-progit pda-ra, és mivel xp-n át akarná tenni magát, kell neki az akármilyen net framework.. leszedtem, kell neki a compact framework... leszedtem, kell neki a visual basic nemtudommi. Itt hagytam rá... Pedig jópár éve nincs semmi ami felidegesít xp alatt, de ez betett. 
Mod: Egyébiránt a cikk hiánypótló. 
[ Szerkesztve ]
https://www.facebook.com/sansphoto - http://www.flickr.com/photos/sansphoto/
Ez rosszabb mint a Linux alatti csomagfüggőségek. Legalább akkor a 3.-as feletti telepítőkbe integrálták volna a régebbi verziók telepítőit is...
LOL
[ Szerkesztve ]
Galériám : http://kilatas.webuda.com/ ------ Vennék hibás LCD monitorokat ------ Ha privátot írsz, és én válaszolok, vedd már a fáradtságot, hogy visszaírj...
bennevan... ha letoltod a nagy 3.0 csomagot abban benne van 2.0sp1, 3.0sp1, 3.5. inkabb az a nagyobb gond, hogy a fejlettebb verziok lefele nem "kompatibilisek": pl a 2-es nemtudja futtatni az 1.0-hoz valo programot. Ezert kell felrakni mindegyiket 
[ Szerkesztve ]
Aham. Az is ügyes akkor. Nem nagyon találkoztam ilyen gondokkal szerencsére 
Galériám : http://kilatas.webuda.com/ ------ Vennék hibás LCD monitorokat ------ Ha privátot írsz, és én válaszolok, vedd már a fáradtságot, hogy visszaírj...
Ha jól tudom, akkor a 3.5-ös csomag viszi a 3.5-ös, 3.0-s, 2.0-s progikat is (és a 3.0-s csomag a 3.0-s és 2.0-s progikat, stb) csak 1.0-sakat nem, de azt csak az 1.0-s csomag telepítése után lehet, ha nem így van, akkor javítsatok ki.
STO: Terran Rebellion, House of K'Reaper
A 3.5-ös .NET kicsomagoláskor némi problémám támadt:
C:\dotnet\pack>c:\dotnet\7za.exe x -oc:\dotnet\full\Dnf35 dotnetfx35.exe vs_set
up.*
7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06
Processing archive: dotnetfx35.exe
No files to process
Files: 0
Size: 0
Compressed: 206692864
Mi (nem) történt?
MOD: közben belenéztem a dotnetfx35.exe file-ba, ott jó mélyen van egy általad is említett file, de az csak 6 mega...
[ Szerkesztve ]
http://takedown.blogolj.net - Takedown The Core