UC – User Customization

UC – User Customization
Volně přeloženo – dovař si sám

UC je jakési vlastní donastavení systému nebo doinstalování vlastních programů do ROM po flashi nebo Hard Resetu.
Protože žádný autor ROM, možná jen ti z dálného východu, neudělá ROM, kde bude ji předinstalováno snad všechno co lze v PDA použít. Rom by narostla do obrovských rozměnrů a 99% uživatelů by ji ani nechtělo, k čemu mít ROM,kde je sice vechno možné, ale když to stejně nebue člověk používat.
Takže jsou k dispozici různé Light nebo SuperLight verze nebo ty klasické – Standard.
A co děláme my, uživatelé. Flashnem nějakou ROM, třeba už tu naši oblíbenou a pak začneme každý dle libosti nastavovat vlatnosti OS, instalovat různé oblíbené programy atd…
To vše zabere spoustu času. Některé programy vyžadují po instalaci restart, takže restart a pokračuje se dále. Pak se něco podělá, jsme nuceni udělat HR a vše zase znovu 🙁
Zde přichází na pomoc UC
Pomocí UC lze ihned po flashi nebo HR automaticky spustit dávku, ve které se nainstalují téměř všechny CAB balíčky najednou, upraví se OS – registry a pak se to vše samo restartuje, takže na nic nešaháme a až nám najede sytém, je téměř vše hotovo. Máme nainstalované programy, částečně nastaven systém.
To téměř a částečně je proto, že záleží na znalostech a schopnostech uživatele.
CAB balíčky jsou jednoduché, úpravy registrů, tedy nastavení OS (většinouje vše v registrech) už musí uživatel vědět alespoň něco málo o registrech.
Můžeme zde probrat skoro všechno.

Jak to funguje?
Vcelku jednoduše.

Nejdřív musím ale zdůraznit, že ne všechny ROM jsou schopny po HE nebo flashi spustit takovouto dávku a nainstalovat naše CABy.
Mělo by to být vždy uvedeno od autora, jestli jeho dílo tuto funkci umí.

Vlastní funkce:
Předpokladem aby to vše fungovalo, je již zmíněna ROM s podporou UC, pak už jen stačí dvě věci.
Na SD kartě v rootu mít složku CABS a na stejném místě, tedy zase v rootu SD karty ještě soubor SDConfig.txt
Složka CABS
Obashuje naše CABy, které se budou instalovat. Názvy všech CABů můžou být libovolné, ale doporučuji bez českých znaků. Velikost a množství je neomezeno, ale nic se nemá přehánět.

Soubor SDConfig.txt
Tento obyčejný textový soubor, který je však psát s rozumem, obashuje jednoduché příkazy.
A na základě příkazů se instalují CABy v pořadí které je uvedeno v SDConfig.txt, popřípadě se upravují registry.
Pro psaní takového SDConfig.txt platí pár pravidel.
Soubor musí bý napsán v UNICODE (většina programů typu PsPad, Notepad+ atd… to umí.
Příkazy musí být psány VELKÝMI PÍSMENY – příkaz je např LOCK: CAB: RST: XML:
Začátek textu za příkazem, musí být až jako páty znak, např. příkaz CAB má jen tři písmena, takže to bude vypadat takhle (dvojtečka za příkazem je součsát příkazu.
CAB: \cesta\k_souboru.cab (za dvojtečku je mezera)
LOCK:Disabled (lock má 4 znaky + dvojtečka, takže už žádná mezera)
Není to složité. Existuje k tomu nějaký UC ROM SDConfig.txt Builder ke stažení např. zde, který je ale v angličtině a je potřeba ho trošku poznat.

Příklad takového SDConfig.txt

LOCK:Enabled
CAB: \Storage Card\Cabs\HDTweak_0.5.4_cz.cab
LOCK:Disabled
RST: Reset

Dle ukázky instalujeme HDTweak.
Popis řádků je:
LOCK: – zablokování displeje a znemožnění uživateli používat OS, protože v té době ještě není OS zcela zaveden a funkční.
CAB: – instaluje se konkrétní CAB
LOCK:Disabled – po instalaci všeho, je potřeba OS zase odemknout
RST: Reset – a pak restartovat.
Takže po instalaci CAB s HDTweakem se zařízení samo restartuje. nebojte, po dalším startu OS se už znovu SDConfig nepouští.

POZOR:
Je třeba brát na vědomí fakt, že některé CABy když se normálně ručně instalují, vyžadují po instalci nebo během ní, nějaký uživatelský vstup, potvrzení licenční smlouvy, nějaké donastavení, výběr jazyka atd…
Pokd takový CAB by byl v našem seznamu, instalace se rozběhne, al epak bude čekat na náš krok (klik) ale my na obrazovce nic neuvidíme, protože máme příkazem zablokovaný displej, který ale musí zablokovaný být. Co teď?
Takové CAB musíme předem zjistit. Už z minulosti, kdy jsem naše aplikace instalovali, víme který cab se po nebo při instalaci jak chová. CABy, které vyžadují uživatelský vstup během instalce si necháme nakonec a náš SDConfig.txt upravíme:

LOCK:Enabled
CAB: \Storage Card\Cabs\HDTweak_0.5.4_cz.cab
LOCK:Disabled
HIDE:Enabled
CAB: \Storage Card\Cabs\galarm_2.1.cab
HIDE:Disabled
LOCK:Enabled
LOCK:Disabled
RST: Reset

Na příkladu je vidět co se bude při automatické instalaci dít.
Zamkne se zařízení
Instaluje se CAB HD Tweaku
Odemkne se zařízení
Aktivuje se příkaz HIDE, který dá celou instalci na pozadí
Spustí se instalace CABu G-Alarmu, který važaduje po instalce výběr jazyku, který když vybereme, pokračuje se dále
Aktivuje se příkaz HIDE,který zase přepne celou instalci na popředí
Pak už jen pro jistotu zamkneme a odemknem zařízení
A restart.
Hotovo nainstalováno.

Registry:
Registry jsou složitejší, ale jen o kousek 🙂
Protože WM neumí naimportovat REG soubory jako WinXP a jiné, musíme nejprve náš REG soubor, který jsem si vytvořili z našeho PDA pomocí např.CeRegEditor, asi jedn z nejlepších programů na registry v pohodlí WinXP. Máme vytvořen REG soubor s nějakou úpravou nastavení OS, např. změna SW tlačítek na HomeScreenu v TF.
Tento reg soubor musíme nejdříve zkonvertovat do XML formátu. K tomu nám poslouží jednuchá utlitka z XDA s výstižným názvem „reg-2-xml“.
Použití je jednoduché. Po spuštení zadáme do programu je cestu, kde je uložen náš REG soubor a program ho ihned převede do stejného místa jako XML. Budeme potřebovat tento XML soubor, který bude nakopírován mezi ostatní CABy do složky CABS v rootu SD karty a do našeho SDConfigu přidáme jeden řádek, třeba za poslední CAB
XML: \Storage Card\Cabs\SoftKeys.xml
SDAutorun.exe, který musí být součástí ROM, sám spustí proces, který je v našem SDConfig.txt zadán a vše nainstaluje + přidá podle XML souboru i registry.
Dalšími příkazy se dají také kopírovat soubory a mono dalšího, ale to je pro tuto chvíly asi zbytečné.
Pokud budeme chtít třeba více registrů a nechce se nám vytvářet XML soubory, lze vytvořit vlastní CAB balíček, který můžeme vytvořit např. v aplikaci „Pocket PC Installation Creator“ (nákpu SW nechám na Vás), zde můžeme přidat jak vlastní soubory, tak registry a pak tento náš výsledný balíček CAB přidat do automatické instalace do SDConfig.txt

Jak se tak dívám na tu hrůzu co jsem napsal, už to ho nechám 🙂 a jen to všechno shrneme:
Proto aby to fungovalo je pořeba:

Soubor SDConfig.txt a složku CABS umístěné v rootu SD karty.
Složka CABS musí obsahovat CAB soubory
Soubor SDConfig.txt obsahuje text v UNICODE, kde jsou jendotlivé příkazy pro instalce CABů.

Pozor na CABy, které vyžadují nějaký uživatelský zásah během instalce. (informace o restartu se do toho nepočítá) Pokud zadáme aby se instaloval CAB, který vyžaduje uživatelský zásah a my ho dáme do sekce normálních CABů, poznáme jednoduše, instalce se pak zasekne a PDA nebude na nic reagovat, protože někde na pozadí a neviditelně bude ta hláška s dotazem daného programu. V tom případě je nutné vyndat SD kartu a restartoavt.
Určitě se to možná stane, když jsem to dělal já, děla jsem to asi 10x, protože vždy se mi to kouslo a čekalo to na mé potvrzení, takže jsem to pak dělal po jednom, abych věděl, který CAB požaduje nějaké potvrzení. Nic se neděje, upravíme CAB jak jsem psal výše, resp. změníme řádek s nepošlušným CABem za sekci HIDE… a je to 🙂

Pro názornou a hlavně funkční ukázku zde přikádám kompletní mou CABS složku + soubor SDConfig.txt.
Věřím, že pro ilustraci, ale klidně i pro použit se to někomu bude hodit. Testováno na ROM by Energy 🙂
Samozřejmě pokud to bude daná ROM podporovat, je možné si vytvořit takový podobný postup na jakoukoli ROM pro jakékoli zařízení s WM6.x.