Compact Framework 2.0 na paměťové kartě
Standardní instalace .NET Compact Frameworku 2.0 (dále jen CF2), který je nezbytný pro běh některých aplikací, instaluje všechny soubory do hlavní paměti zařízení a nikoliv na paměťovou kartu, a to i tehdy, když takovou instalaci zvolíte na začátku instalace. To samozřejmě užere solidní část volné paměti cca. 5MB, kterou bychom jinak mohli využít jinak, že. Na několika zahraničních webech jsem našel i informace o tom, že explicitní přemístění na kartu není možné, že nefunguje nebo že se opět soubory časem „přestěhují“ zpět do hlavní paměti. Já sám jej mám již drahnou dobu na kartě a žádné popisované problémy zatím nenastaly. Přináším vám tedy návod, jak ušetřit pár MB a přesunout vše na paměťovou kartu. Jen mějte na paměti, že vše provádíte na vlastní riziko, že zasahujete do systemových oblastí vašeho zařízení. Proto vyloženě doporučuju minimálně zálohovat registry a nic neuspěchat. Takže jdeme na to !
• měli byste mít nějakou aplikaci, jež CF2 používá, abyste to po úpravách otestovali (nejlépe před a po úpravě)
• bezpodmínečně ukončete všechny aplikace, které CF2 využívají
• použijte nějaký editor registru např. desktopový „Mobile Registry Editor“
2. Adresáře
• měli byste mít prázdný adresář „.net cf 2.0“
v adresáři „Program Files“ ve vašem zařízení
• vytvořte stejný adresář tj. „.net cf 2.0“ na kartě
čili:
„\Storage Card\Program Files“ → „.net cf
2.0“
Pozn. adresář zůstává stále prázdný – takže to možná
není nutné, ale pro jistotu to udělejte
• pokud nemáte, vytvořte adresář „Windows“ na kartě,
čili: „\Storage Card\Windows“
3. Přesun souborů na kartu
Následující soubory mohou být přesunuty z adresáře
„\Windows“ vašeho zařízení na kartu
tj. do: „\Storage Card\Windows“
GAC_CustomMarshalers_v2_0_0_0_cneutral_1.dll
GAC_Microsoft.VisualBasic_v8_0_0_0_cneutral_1.dll
GAC_Microsoft.WindowsCE.Forms_v2_0_0_0_cneutral_1.dll
GAC_Microsoft.WindowsMobile.DirectX_v2_0_0_0_cneutral_1.dll
GAC_mscorlib_v2_0_0_0_cneutral_1.dll
GAC_System.Data.SqlServerCe_v3_0_3600_0_cneutral_1.dll
GAC_System.Data_v2_0_0_0_cneutral_1.dll
GAC_System.Drawing_v2_0_0_0_cneutral_1.dll
GAC_System.Messaging_v2_0_0_0_cneutral_1.dll
GAC_System.Net.IrDA_v2_0_0_0_cneutral_1.dll
GAC_System.Web.Services_v2_0_0_0_cneutral_1.dll
GAC_System.Windows.Forms.DataGrid_v2_0_0_0_cneutral_1.dll
GAC_System.Windows.Forms_v2_0_0_0_cneutral_1.dll
GAC_System.Xml_v2_0_0_0_cneutral_1.dll
GAC_System_v2_0_0_0_cneutral_1.dll
MSCOREE2_0.dll
netcfagl2_0.dll
netcfd3dm2_0.dll
4. Úprava Global-assemblies-cache (GAC)
• V adresáři „\Windows“ se nachází soubor
„Microsoft .NET CF 2.0.GAC“ – nepřesunujte !
• Otevřete a upravte tento soubor v nějakém textovém editoru
(např. UltraEdit)
• Zazálohujte si originální soubor .GAC před modifikací !!!
• Buďte opatrní ! První 3 bajty jsou nějaké
„zmatené“ znaky a ty musí být zachovány, ty nesmíte změnit !
• upravte originální soubor, řádek po řádku, a nahraďte na
každém řádku následujícím způsobem:
„\Program Files\.NET CF 2.0\system.dll“ je nahrazen za
„\Storage Card\Program Files\.NET CF 2.0\system.dll“ a tak
dále…
Zde je obsah upraveného souboru „\Windows\Microsoft .NET CF
2.0.GAC“ jako příklad:
\Storage Card\Program Files\.NET CF 2.0\mscorlib.dll
\Storage Card\Program Files\.NET CF 2.0\system.dll
\Storage Card\Program Files\.NET CF 2.0\system.drawing.dll
\Storage Card\Program Files\.NET CF 2.0\system.messaging.dll
\Storage Card\Program Files\.NET CF 2.0\system.web.services.dll
\Storage Card\Program Files\.NET CF 2.0\system.windows.forms.dll
\Storage Card\Program Files\.NET CF
2.0\system.windows.forms.datagrid.dll
\Storage Card\Program Files\.NET CF 2.0\system.xml.dll
\Storage Card\Program Files\.NET CF 2.0\system.net.irda.dll
\Storage Card\Program Files\.NET CF 2.0\system.data.dll
\Storage Card\Program Files\.NET CF 2.0\microsoft.visualbasic.dll
\Storage Card\Program Files\.NET CF
2.0\microsoft.windowsce.forms.dll
\Storage Card\Program Files\.NET CF
2.0\Microsoft.WindowsMobile.DirectX.dll
\Storage Card\Program Files\.NET CF 2.0\CustomMarshalers.dll
• uložte změny a zavřete soubor
5. Změny v systémových registrech (buďte opatrní!)
• Musíte ručně upravit některé hodnoty klíčů (asi 14) v
[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETCompactFramework\
Installer\Assemblies\Global] následujícím způsobem
(Všimněte si: „\Storage Card“ je vždy předřazeno každé
hodnotě):
Value:
System.Windows.Forms.DataGrid, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=969DB8053D3322AC
Originální value Data (MultiString):
\Windows\GAC_System.Windows.Forms.DataGrid_v2_0_0_0_cneutral_1.dll
\Program Files\.NET CF 2.0\system.windows.forms.datagrid.dll
Upravená value Data:
\Storage
Card\Windows\GAC_System.Windows.Forms.DataGrid_v2_0_0_0_cneutral_1.dll
\Storage Card\Program Files\.NET CF
2.0\system.windows.forms.datagrid.dll
• upravte jen hodnoty (values), které obsahují soubor uvedený
v odstavci 3.(viz Přesun souborů na kartu) ve svém prvním řádku a
soubor z GAC (viz odstavec 4.) v druhém řádku multi-string hodnoty.
• můžete použít přiložený soubor „registry.reg“ jako
příklad nebo jej i přímo naimportovat
• Upozornění: soubory MSCOREE2_0.dll, netcfagl2_0.dll a
netcfd3dm2_0.dll se v registrech nenacházejí takže žádná úprava pro
ně není potřebná
• Nakonec přidejte cestu na adresář „\storage
card\windows“ do klíče
„HKEY_LOCAL_MACHINE\Loader\SystemPath“
• Zde již mohou být přítomné i jiné položky(adresáře)
takže jen přidejte novou. „SystemPath“ je Multi-String hodnota
takže přidejte novou cestu jako nový řádek (Enter vytvoří nový řádek)
např. bude obsahovat:
\windows\oem\
\storage card\windows\
6. Hotovo
Jen pro jistotu restartujte zařízení a zkuste spustit nějakou
aplikaci, jež používá CF2
7. Možné potíže
Jestliže aplikace (využívající CF2) generuje vyjímku (exception)
během spouštění nebo nereaguje vůbec (tj. nic se neděje když zvolíte EXE
soubor):
• ověřte všechny údaje, které jste měnili v registrech, je
vše správně a všechny položky jsou upraveny (a správně)?
• ověřte GAC soubor
• ověřte zde všechny soubory uvedené v GAC a/nebo registrech
jsou přesunuty do nového umístění (na kartu)
• řekněte „doprdele“ a začněte úplně od začátku,
mělo by to pomoci -:)
• a věřte, určitě to funguje, je to ověřené více lidma

Nejnovější zprávy a články na Magazínu:
Meteoservis 1.20 pro Windows Phone - další vylepšení vašeho počasí
Update aplikace Meteoservis 1.10 pro Windows Phone
Meteoservis - konečně pořádné počasí pro Windows Phone
Francouzský pilaf neboli rizoto trochu jinak
Meteoservis 1.20 pro Android - kvalitnější snímky a další vylepšení
Meteoservis 2.50 pro Windows Mobile - nový vzhled a WiFiPřečtěte si další články z rubriky Software:
Meteoservis 1.20 pro Windows Phone - další vylepšení vašeho počasí ••• Update aplikace Meteoservis 1.10 pro Windows Phone ••• Meteoservis - konečně pořádné počasí pro Windows Phone ••• Meteoservis 1.20 pro Android - kvalitnější snímky a další vylepšení









Článek je zařazen v rubrice:

Dobrý den, je možné díky CF2 spolu s programem LowLight.exe určeným pro WM5 trvale thasnout, nebo dokonce regulovat podsvícení u mpx220 s WM2003SE?
Tohle já opravdu netuším. CF2 je vlastně jen „nadstavba“ (tj. API) operačního systému, jde o systémové knihovny pro podporu programů, které jsou vyvíjeny pro .NET CompactFramework 2.0 např. pomocí VisualStudia .NET 2005.
Musím se smířit s tím, že výrobce nemyslel na všeobecně běžnou funkci, kterou disponuje kdejaký JAVA mobil. Tuhle vychytávku jsem za dva roky pro WM2003 prostě nikde neobjevil. A Díky za briskní odpověď.
Prosím radu; mám Qtek 8310, miniSD 2G. Pokud nainstaluju na kartu .NET CompactFramework 2.0, nefungují mi programy podporované aplikace (WiFiFofum atd.) Pokud dám instalaci do paměti telefonu, tak je to o.k. ale tam už nemám místo… Je jiná možnost než výše uvedená? Takovej borec fakt nejsem a jít do registrů se mám fakt obavy. Moc díky za radu!
V tom případě se obávám, že jedinou a poslední možností je instalace nejnovější verze tj. .NET CompactFramework 2.0 SP1, která by měla již umět instalovat na pam.kartu. Jen vím, že někteří měli i s tímto problémy. Ale za zkoušku to stojí. Stáhnout si to můžeš ze stránekk Microsoftu např. tady: http://www.microsoft.com/…details.aspx?…
Omlouvám se všem za to že jsem lolo, ale jak to vůbec dostanu do mobilu? Mám Motorolu MPx220.
Děkuji
Vždyť o kousek výš je odkaz na stránky Microsoftu kde stáhneš NETCFSetupv2.msi. Pak připojíš mobil k PC, přes ActiveSync a spustíš ten soubor. Něco se dává i na disk ale pak by mělo dojít i k instalaci na mobil. Už si to moc nepamatuju…
To je sice hezký, ale píše mi to, že nemám podporované zařízení a že to nelze nainstalovat
Jen doufám že se bavíme o Motorole MPx220 s patchem OS na WM 2005. Pod WM2003 to zřejmě nainstalovat nepůjde.
Jinak u výše uvedeného odkazu (je to verze Sp1) byl problémm s instalací popisovaný zde: http://blog.renestein.net/…49f9c7c.aspx
Takže zkus stáhnout a nainstalovat nejnovější verzi tj. SP2, problém by v této verzi měl být vyřešen: http://www.microsoft.com/…details.aspx?…
Tak to bude ten problém, nemám tam ten patch, vždyť jsem psal, že jsem lolo, no a ještě tedy, kde vezmu ten patch, děkuji.
To bohužel nevím. Zkus pohledat, něco jako „WM5 pro Mpx220“. Zkus taky www.mobilnaut.cz, myslím, že jsem to tam zahlédl. Obávám se ale, že pro Mpx220 to bude problém, s Mpx200 to určitě jde.
Nedaří se mi naimportovat ten REG soubor. Hlásí to, že se nejedná o soubor registry.
Ok, opravil jsem to, soubor byl fakt nějaký divný. Zkus to ještě jednou stáhnout a pak vyzkoušet a dej vědět jaks dopadl.
Problém je asi v tom, že moje zařízení karta se jmenuje „Karta Mini SD“. V čem ten blabla kód přepsat?
Chceš říct, že ‚adresář‘, který vidíš třeba na svém PC v exploreru se jmenuje „Karta Mini SD“?
Ručně ten reg soubor asi jednoduše neupravíš, nejjednodušší bude tu úpravu, tak jak je tu popsána, udělat v registru ‚ručně‘ tj. postupně upravit všech cca. 14 položek, jednu po druhé.
Ano, přesně tohle. Ve Variu ti bylo normálně Storage Card. V Asusu P525 je to takhle a přejmenovat nejde. Zkusím to tedy ručně.
Tak jsem zkusil zde v diskusi odkaz na verzi .NET 2.0 SP2 a instalaci na kartu a krome asi tech .dll je vse na karte, nejake zabrani mista v pameti jsem nezaznamenal (spis uvolneni, ale dival jsem se na zaplneni pameti tesne pred odkliknutim instalace v PDA).
Takze bych asi uz doporucil jen standardni instalaci SP2 na kartu a je to bez problemu
Net Framework 2 jsem dal instalovat na Qteku 8500 na kartu a také se na ní z většiny nainstaloval a zůstal. V telefonu zabral 1MB.
To jsi zřejmě instaloval SP1 verzi. Ale i tak je tu určitě rezerva, 1MB v paměti telefonu je pořád celkem dost a možná by se s tím dalo něco dělat. Ale pořád lepší než 5 MB
Prosim o radu.PO naistalovani aplikaii ifonz si tato pyta novsiu verziu NET Compact Frameworku.Stiahol som si CF2 SP2 no kedze tam mam uz starsiu verziu CF tak sa instalacia prerusi.Ako starsiiu verziu oddinstalujem?
Nepíšete nic o modelu (přítroji) o kterém se bavíme. Zřejmě jde o starší kousek s WM5 a .NET CF 1.1.
Starší verzi, což je jak předpokládám ona 1.1, odinstalovat zřejmě nepůjde, jelikož je součástí ROM. Neměl by být ale žádný problém současně provozovat obě verze CF tj. 1.1 a 2.0. Sám jsem na svém starém Qtekovi 8310 takto postupoval a bez problémů. Co konkrétně hlásí instalace CF2 než se přeruší?
Jen pro info… ty tři „zmatené“ znaky na začátku jsou tzn. „BOM“ a nachází se na začátku každého souboru v UTF-8 (díky nim totiž editory poznají, že pracují s UTF-8").
Jinak díky za návod :D