PDAclub.pl - Forum użytkowników technologii mobilnych

Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Pocket PC z telefonem - ogólnie (WM Professional/WP6.x) => HTC => Wątek zaczęty przez: globalbus w Sierpień 28, 2008, 13:09:19

Tytuł: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: globalbus w Sierpień 28, 2008, 13:09:19
Są 2 metody zrobienia OEMPacka, ręczna i automatyczna przez programik packages_creator (w załączniku (http://www.4shared.com/file/60789903/5130d534/Packages_creator.html)). Problem polega na tym, że paczka zrobiona przez taki program nie do końca nadaje się do użycia ;)

1.Podstawowe części OEMPacka:



<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
  <Item name="Nazwa" group="Nazwa grupy do której jest przypisany OEMPack" checked="true or false, czyli czy ma być domyślnie zaznaczony">
    <Tip>Porada, wyświetlana przez najechanie myszką na Nazwę</Tip>
    <Guid type="p">UUID</Guid>
  </Item>
</Items>

option.xml powinien być zapisany jako unicode, ostrożnie też ze stosowaniem znaków specjalnych (wprowadzamy je według zasad XML). Jeśli nie damy option.xml, paczka zostanie automatycznie dodana.


przykładowy plik rejestru

[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\CommManager]
"SupportedFunctions"=dword:0000000A
"DisableButtonText"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\CommManager\0]
""="FlightMode"

[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\CommManager\WLAN]
""="\\Windows\\WLanMgr.exe"
"DeviceName"="{98C5250D-C29A-4985-AE5F-AFE5367E5006}\\TIACXWLN1"


przykładowy plik

Directory("\Windows\"):-Directory("gfx")
Directory("\Windows\gfx\"):-Directory("clock")
Directory("\Windows\gfx\"):-Directory("clockA")
Directory("\Windows\gfx\"):-Directory("weather")
Directory("\Windows\gfx"):-File("arrows.png","\windows\000-arrows.png")
Directory("\Windows\gfx"):-File("battery1.png","\windows\000-battery1.png")
Directory("\Windows\gfx"):-File("battery2.png","\windows\000-battery2.png")
Directory("\Windows\gfx"):-File("battery3.png","\windows\000-battery3.png")
Directory("\Windows\gfx"):-File("batteryg.png","\windows\000-batteryg.png")
Directory("\Windows\gfx"):-File("buttons.png","\windows\000-buttons.png")
Directory("\Windows\gfx"):-File("notice.png","\windows\000-notice.png")
Directory("\Windows\gfx"):-File("pbackward.png","\windows\000-pbackward.png")
Directory("\Windows\gfx"):-File("pbarbutton.png","\windows\000-pbarbutton.png")
Directory("\Windows\gfx"):-File("pbaroff.png","\windows\000-pbaroff.png")
Directory("\Windows\gfx"):-File("pbaron.png","\windows\000-pbaron.png")

Directory("\katalog1\"):-Directory("katalog2") utworzy coś takiego \katalog1\katalog2

Directory("\Windows\gfx"):-File("buttons.png","\windows\000-buttons.png") przekopiuje plik 000-buttons.png do \windows\gfx i zmieni jego nazwę na buttons.png

2. A może by to tak automatycznie? (packages_creator)


3. Optymalizacja (na przykładzie NetFront Browser 3.5)

Po przetworzeniu paczki initflashfiles.txt wygląda mnie więcej tak Directory("\Program Files\"):-Directory("NetFront Browser v3.5")

Directory("\Program Files\NetFront Browser v3.5\"):-Directory("cache")
Directory("\Program Files\NetFront Browser v3.5\"):-Directory("search")
Directory("\Program Files\NetFront Browser v3.5\"):-Directory("skin")
Directory("\Program Files\NetFront Browser v3.5\"):-Directory("thumbnail")
Directory("\Program Files\NetFront Browser v3.5"):-File("NFB35Res.dll","\windows\000-NFB35Res.dll")
Directory("\Program Files\NetFront Browser v3.5"):-File("NFB35ResVGA.dll","\windows\000-NFB35ResVGA.dll")
Directory("\Program Files\NetFront Browser v3.5"):-File("NFBrowser.exe","\windows\000-NFBrowser.exe")
Directory("\Program Files\NetFront Browser v3.5"):-File("NFBrowser35.dll","\windows\000-NFBrowser35.dll")
Directory("\Program Files\NetFront Browser v3.5"):-File("NFLauncher.exe","\windows\000-NFLauncher.exe")
Directory("\Program Files\NetFront Browser v3.5"):-File("NFSetting.exe","\windows\000-NFSetting.exe")
Directory("\Program Files\NetFront Browser v3.5"):-File("NFSetup.dll","\windows\000-NFSetup.dll")
Directory("\Program Files\NetFront Browser v3.5"):-File("title_e.gif","\windows\000-title_e.gif")
Directory("\Program Files\NetFront Browser v3.5"):-File("title_e_VGA.gif","\windows\000-title_e_VGA.gif")
Directory("\Program Files\NetFront Browser v3.5"):-File("top.html","\windows\000-top.html")
Directory("\Program Files\NetFront Browser v3.5"):-File("top_VGA.html","\windows\000-top_VGA.html")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("BBC - bbc.co.uk homepage - Home of the BBC on the Internet.vbt","\windows\000-BBC - bbc.co.uk homepage - Home of the BBC on the Internet.vbt")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("CNN.com - Breaking News, U.S., World, Weather, Entertainment & Video News.vbt","\windows\000-CNN.com - Breaking News, U.S., World, Weather, Entertainment & Video News.vbt")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("eBay - New & used electronics, cars, apparel, collectibles, sporting goods & more at low prices.vbt","\windows\000-eBay - New & used electronics, cars, apparel, collectibles, sporting goods & more at low prices.vbt")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("Google.vbt","\windows\000-Google.vbt")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("internet.com - the Internet and IT Network from Jupitermedia Corp..vbt","\windows\000-internet.com - the Internet and IT Network from Jupitermedia Corp..vbt")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("Lycos.vbt","\windows\000-Lycos.vbt")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("The New York Times - Breaking News, World News & Multimedia.vbt","\windows\000-The New York Times - Breaking News, World News & Multimedia.vbt")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("The top news headlines on current events from Yahoo! News.vbt","\windows\000-The top news headlines on current events from Yahoo! News.vbt")
Directory("\Program Files\NetFront Browser v3.5\thumbnail"):-File("Welcome to About.com.vbt","\windows\000-Welcome to About.com.vbt")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vbl_bg.gif","\windows\000-vbl_bg.gif")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vbl_down.bmp","\windows\000-vbl_down.bmp")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vbl_down_focus.bmp","\windows\000-vbl_down_focus.bmp")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vbl_up.bmp","\windows\000-vbl_up.bmp")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vbl_up_focus.bmp","\windows\000-vbl_up_focus.bmp")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vb_bar_over.bmp","\windows\000-vb_bar_over.bmp")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vb_bar_under.bmp","\windows\000-vb_bar_under.bmp")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vb_bg.gif","\windows\000-vb_bg.gif")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vb_default.bmp","\windows\000-vb_default.bmp")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vb_down.bmp","\windows\000-vb_down.bmp")
Directory("\Program Files\NetFront Browser v3.5\skin"):-File("vb_down_focus.bmp","\windows\000-vb_down_focus.bmp")
Zaraz, zaraz a po co to wszystko kopiować? Chyba każdy chce mieć więcej wolnego miejsca ? :D


4. Debugging

5. Sprawdzamy przed wgraniem (po co komu wgrywanie za każdym razem?)


Życzę wszystkim udanego gotowania ;)
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: qsqa w Sierpień 28, 2008, 18:13:28
Dobra robota  :ok: aby tak dalej.
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: nokser w Sierpień 29, 2008, 01:05:36
Muszę powiedzieć że kolega naprawdę, się postarał jednak na dzisiejszy dzień jest już łatwiej tworzyć dane nam operacje, o ile wiem podobny plik znajduje się na mobione.pl , ale jestem jak najbardziej za, żeby ilość właśnie artykułów pomocy nas przerosła.
Pozdrawiam - Świetna praca
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: lovelasik w Styczeń 02, 2009, 14:19:00
A jesli po wyciagnieciu z cab paczka wyglada tak?? Da się to jakoś ugotować żeby nie pokazywało się że jest wiele dms'ow i rgu?


(http://www.wgraj.info/img.php?mode=show&file=1287&height=512&width=904)
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: globalbus w Styczeń 02, 2009, 14:26:29
zapewne przepaczkowałeś caba w którym już były rgu i dsm
wypakuj go tylko, nie dodawaj nic nowego
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: lovelasik w Styczeń 02, 2009, 14:28:46
Uzylem packages creator 5.5

Jak się domyślam to są 3 paczki w jednym. 2 phone canvas w tym jeden z mui i drugi ten slide coś tam, ale jak to po segregować??
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: globalbus w Styczeń 02, 2009, 14:47:47
po prostu wywal te niepotrzebne i tyle
na przyszłość używaj freetexthost, albo tagów bo raczej nieprzyjemnie się to ogląda
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: wjtk w Styczeń 19, 2009, 19:20:09
Uruchamiamy w notatniku replace, zamieniamy "\Program Files\NetFront Browser v3.5\" na "\windows\"
Czy jeżeli się tego nie zrobi to pliki zostaną w katalogu Windows i pojawią się w Program Files? (czyli będą w 2ch miejscach?)
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: globalbus w Styczeń 19, 2009, 19:22:44
tak
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: wjtk w Styczeń 19, 2009, 19:34:57
Czyli, w przypadku kodu z przykładu obrazki będą w katalogu Windows i podkatalogu gfx?
5  Directory("\Windows\gfx"):-File("arrows.png","\windows\000-arrows.png")
6  Directory("\Windows\gfx"):-File("battery1.png","\windows\000-battery1.png")
7  Directory("\Windows\gfx"):-File("battery2.png","\windows\000-battery2.png")
8  Directory("\Windows\gfx"):-File("battery3.png","\windows\000-battery3.png")
9  Directory("\Windows\gfx"):-File("batteryg.png","\windows\000-batteryg.png")
10 Directory("\Windows\gfx"):-File("buttons.png","\windows\000-buttons.png")
11 Directory("\Windows\gfx"):-File("notice.png","\windows\000-notice.png")
12 Directory("\Windows\gfx"):-File("pbackward.png","\windows\000-pbackward.png")
13 Directory("\Windows\gfx"):-File("pbarbutton.png","\windows\000-pbarbutton.png")
14 Directory("\Windows\gfx"):-File("pbaroff.png","\windows\000-pbaroff.png")
15 Directory("\Windows\gfx"):-File("pbaron.png","\windows\000-pbaron.png")
Dobrze rozumiem? Jeśli tak, to strasznie marnuje się miejsce..
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: globalbus w Styczeń 19, 2009, 19:36:23
tak, wiem że się marnuje.
Nie mniej moje porady są po to, żeby marnowało się mniej :)
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: mike1986 w Marzec 10, 2009, 22:40:40
Eh... chciałem do kuchenki 1.23 dołączyć nowe stery IPM Slabnoff ale ciągle wywala BuildOS.bat już na wstępie.

Oto jak to wygląda:

Zmieniłem plik option.xml z:

<Items>
<Item name="Slabnoff" group="Драйвер процессора(ВЫБРАТЬ ТОЛЬКО ОДИН, ВЫБОР ОБЯЗАТЕЛЕН!!!)" checked="true">
<Tip/>
<Guid type="p">
c01d2800-4853-4a75-8848-c5c8dcbae916
</Guid>
</Item>
</Items>


na:


<Items>
<Item name="Slabnoff" group="IPM" checked="true">
<Tip/>
<Guid type="p">
c01d2800-4853-4a75-8848-c5c8dcbae916
</Guid>
</Item>
</Items>

Reszta plików po wypakowaniu Slabnoff.zip to:

1. c01d2800-4853-4a75-8848-c5c8dcbae916.dsm
2. folder pxa27x_ipm.dll a w nim:
 a. imageinfo.bin
 b. imageinfo.txt
 c. pxa27x_ipm5.dll
 d. pxa27x_ipm5.idb
 e. S001
 f. S002
 g. S003

Zgodnie z tourtialem plik .dsm oraz wartość w option.xml są takie same. Gdy kopiuję cały katalog do folderu OEM w kuchence to nie da się uruchomić BuildOS.bat

Oprócz tego zrobiłem plik .rgu o nazwie c01d2800-4853-4a75-8848-c5c8dcbae916.rgu i wygląda następująco:

REGEDIT4
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\IPM]
    "Prefix"="IPM"
    "Dll"="pxa27x_ipm5.dll"
    "Index" = dword:1
    "Order" = dword:0
    "DeviceTimeOut"=dword:30
    "ProfileType"=dword:4

Wiem, że na pewno robię coś źle bo robię to pierwszy raz a informatykiem nie jestem ;) Jakieś sugestie?

Zastanawiam się tylko, czy dobrze ustawiłem parametr "Dll"="pxa27x_ipm5.dll" bo folder nazywa sie pxa27x_ipm.dll ale w środku jest plik pxa27x_ipm5.dll
Tylko, że nawet gdy dołożyłem "5" do nazwy folderu to i tak nie ruszyło :(

Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: globalbus w Marzec 11, 2009, 12:55:11
GUID jest unikalny? nie może być dubli
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: mike1986 w Marzec 11, 2009, 13:26:19
Tzn, że co powinienem zrobić?

EDIT:

Już wiem  :-? PocketWakeUp ma taki sam GUID. Spróbuję go wyrzucić...

Jeszcze pytanie o tą "piątkę". W paczce Slabnoff jest folder pxa27x_ipm.dll a w nim plik pxa27x_ipm5.dll. To teraz w pliku rejestru powinno być "Dll"="pxa27x_ipm5.dll" czy "Dll"="pxa27x_ipm.dll"? Czy może zmienić tak, żeby wszędzie ta "5" była albo jej nie było?
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: Lilim w Kwiecień 17, 2010, 23:11:20
Głupio mi trochę odkopywać temat sprzed grubo ponad roku, ale skoro już taki jest, to nie ma sensu zakładanie nowego.

wjtk poruszył już ten temat - kopiowanie plików i ich częste występowanie w dwóch miejscach jednocześnie. Weźmy 1-Calc z kuchni C&C:

initflashfiles.txt
Directory("\Windows"):-Directory("Skins")
Directory("\Windows\Skins"):-File("default.ini","\Windows\default.ini")
Directory("\Windows\Skins"):-Directory("Default")
Directory("\Windows\Skins\Default"):-File("button.ini","\Windows\button.ini")
Directory("\Windows\Skins\Default"):-File("display_menu.png","\Windows\display_menu.png")
Directory("\Windows\Skins\Default"):-File("texture2.png","\Windows\texture2.png")
Directory("\Windows"):-Directory("Currency")
Directory("\Windows\Currency"):-File("currency.ini","\Windows\currency.ini")
Directory("\Windows\Start Menu\Programs\Accessories"):-File("Calculator.lnk","\Windows\1-Calc Lite.lnk")

Pliki, jak button.ini, znajduje się w dwóch lokacjach. Teraz moje pytanie - czy jest to konieczne? Czy nie można zostawić tych plików po prostu w \windows\? Co prawda spowoduje to spory bałagan, ale jednocześnie zmniejszy zużycie pamięci.

Kolejna sprawa, tycząca się stricte procesu tworzenia OEM pack-ów. Korzystam z metody automatycznej i wszystko niby się zgadza poza tym, że OEM pack stworzony tą metodą (z pliku .cab) ani strukturą nie przypomina tych gotowych w kuchni, ani rozmiarem (na przykładzie XnPocket z C&C - OEM z kuchni 1,3 MB, OEM stworzony przeze mnie z pliku .cab 1,9 MB). Czy to normalne, czy ja coś pomieszałem (choć chyba trudno by było skoro wszystko idzie automatycznie, poza edycją initflashfiles i options).
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: globalbus w Kwiecień 18, 2010, 11:09:38
Cytuj
Pliki, jak button.ini, znajduje się w dwóch lokacjach. Teraz moje pytanie - czy jest to konieczne? Czy nie można zostawić tych plików po prostu w \windows\? Co prawda spowoduje to spory bałagan, ale jednocześnie zmniejszy zużycie pamięci.
To wywal, program raczej odmówi współpracy (może w hexach da się zmienić lokację)

Cytuj
Czy to normalne, czy ja coś pomieszałem (choć chyba trudno by było skoro wszystko idzie automatycznie, poza edycją initflashfiles i options).
Akurat XnView całość składa się z 2 .exe, więc rozbieżności tutaj nie powinno być (poza tym, że u mnie to egzystuje jako moduły).
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: Lilim w Kwiecień 18, 2010, 12:32:54
Cytuj
Pliki, jak button.ini, znajduje się w dwóch lokacjach. Teraz moje pytanie - czy jest to konieczne? Czy nie można zostawić tych plików po prostu w \windows\? Co prawda spowoduje to spory bałagan, ale jednocześnie zmniejszy zużycie pamięci.
To wywal, program raczej odmówi współpracy (może w hexach da się zmienić lokację)
Faktycznie, nie ruszy, czyli pewną strukturę trzeba zachować. Gorzej, że plik (w tym przypadku) button.ini znajdujący się bezpośrednio w \windows\ jest nie do ruszenia, mimo że nie powinien być poprzedni (skoro program żąda tego w \windows\Skins\Default\). Co prawda w tym przypadku to żadna strata miejsca, ale wiadomo, kropla do kropli i się uzbiera.
Tytuł: Odp: Poradnik kucharza, jak zrobić dobry OEMPack
Wiadomość wysłana przez: Skrobel w Styczeń 05, 2011, 01:03:25
Mam pytanko:
jak najlepiej budować OEMPacki w różnych wersjach językowych? Jak się pracowało na EXT to były podkatalogi z LangID, a w nich oddzielne pliki app.reg i app.dat, a jak to robić w OEM? Można zrobić kilka oddzielnych paczek dla jednego programu, np.
PROG
PROG_0409
PROG_0415
itd. Wtedy rgu możnaby umieścić różne dla tego samego programu, ale co z initflashfiles.txt? Jeśli chciałbym, żeby skrót do programu znajdujący się w PROG był kopiowany dla 0415 do Start Menu/Programy/Aplikacje, a dla 0409 Start Menu/Programs/Apps?
Czy initflashfiles.txt umieszczony w PROG_0409 poradzi sobie z plikami umieszczonymi w PROG?

EDIT: A jeszcze pytanie jak w takim razie dobrze przekonwertować paczki EXT z podkatalogami 0409 i 0415? Po automatycznej konwersji wszystkie pliki znajdą się w jednym katalogu...