Czwartek, 24 Maj 2012, 09:25

Autor Wątek: [How-To] WinCE CAB Manager & Instalatory CAB  (Przeczytany 664 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Wall-E

  • ModMaker
  • Senior
  • ***
  • Wiadomości: 353
  • Podziękowań: 79
  • Płeć: Mężczyzna
  • Samsung Galaxy S II, Samsung Galaxy Tab 10.1
[How-To] WinCE CAB Manager & Instalatory CAB
« dnia: Piątek, 03 Grudzień 2010, 18:58 »
Pierwszą i podstawową rzeczą, którą trzeba wiedzieć to fakt, że opisywany program nie jest darmowy.
Program można zakupić na stronie producenta: ocpSoftware Inc..
Nie jest on jakoś przesadnie drogi jak na oferowane możliwości - IMO, jest to chyba najlepszy i najfunkcjonalniejszy dostępny konstruktor instalatorów CAB.


Część 1
Przyglądamy się programowi, czyli: Jak go widzą - tak go... używają.




Coś w rodzaju wstępu...

Hmmm... nie będzie to instrukcja obsługi programu tłumacząca krok po kroku co, z czym i dlaczego. Ten krótki opis ma bardziej na celu wstępne zapoznanie użytkownika z interfejsem programu i rozmieszczeniem jego podstawowych opcji do tego stopnia, by potencjalny CAB-Builder wiedział co widzi na ekranie ucząc się strugać swój pierwszy, własny instalator. Tworząc ten opis skupiłem się na przedstawieniu opcji i funkcjonalności potrzebnych, najczęściej używanych lub specyficznych dla programu. Opcje używane rzadko, opisałem bardzo pobieżnie - tylko gwoli zasygnalizowania ich obecności, natomiast te, praktycznie niewykorzystywane lub znane z innych programów pozwoliłem sobie pominąć by zmniejszyć ewentualny chaos w umyśle czytającego.
Odpuściłem sobie natomiast tłumaczenie nazw wielu opcji, poleceń i wyrażeń kiedy było to zbędne, gdyż i tak większość z nich jest wam dobrze znana z innych anglojęzycznych programów. Nie zaprzeczam, że ta sytuacja "kiedyś" się zmieni, ale wtedy już będziecie robić swoje CABy w ilościach hurtowych...

Enyłej... Drugą część tutorialu (tą dotyczącą budowania instalatora) opracowałem już dosyć dokładnie i mam nadzieję, że po jej przeczytaniu zrozumiecie czemu ta część opisu nie jest tak dokładna, jaka teoretycznie być powinna.

Jeszcze jedna uwaga...
Skromność tego opisu wynika również z tego, że większość z opcji można zobaczyć i użyć dopiero podczas tworzenia/modyfikacji pliku CAB (a ja jestem za leniwy by pisać dwa razy to samo). Z tego też powodu, by tą treść z siebie wypocić i załączyć screeny, musiałem zainicjować wstępny etap tworzenia CABa - dla uproszczenia przyjmijmy, że przedstawiony w opisie stan programu jest jego stanem wyjściowym (pouruchomieniowym). Jednocześnie proszę się nie sugerować pewnymi "dziwnymi" wartościami powpisywanymi tu i ówdzie - ten etap wymagał podania kilku podstawowych wartości. Ufffffffff...


Tak więc zaczynamy...
Po kliknięciu w ikonę programu... właśnie... tu będzie deczko nie po kolei, bo po kliknięciu na ikonkę programu otwiera się kreator nowego pliku CAB. Ten krok pominiemy - jest omówiony w drugiej części tutorialu przy okazji tworzenia nowego pliku CAB - i przejdziemy do oglądania okienek i podstawowych opcji programu.




Okno główne



1. Zawartość


Jak na załączonym obrazku widać, okno programu podzielone jest na dwie części:

  • Lewa, przedstawia potencjalną - w naszym przypadku przyszłą, zawartość pliku CAB
  • Prawa, wyświetla szczegóły poszczególnych pozycji wybranych w części lewej.

Na powyższym screenie uaktywniona została pozycja CAB Information, czyli szczegółowa informacja o globalnej konfiguracji pliku CAB. Poczytajmy sobie co też tam w tym prawym okienku mamy. Wszystkie opcje zostaną omówione później przy róznych okazjach, tak więc teraz będzie tak bardziej orientacyjnie:


Application
Company Name - teoretycznie nazwa firmy lub autora programu,
Application Name - nazwa programu zawartego w CABie
(te dwa ciągi będą wyświetlone m.in. w "Usuń programy" na urządzeniu),
Allow Uninstall - pozwolenie (lub nie) na odinstalowywanie programu - (tu mogą wystąpić dwie wartości: True (można) i False (nie można),
Default Install Dir - globalna, domyślna, określona przez użytkownika, ścieżka instalacji programu,


Cabinet
Processor Type - Typ procesora dla którego został stworzony instalator. W przypadku platform mobilnych jest to dosyć ważny element, jednak to zagadnienie rozwiniemy przy okazji tworzenia pliku CAB,
Compressed - opcja powodująca (lub nie) dodatkową kompresję pliku CAB i zmniejszenie jego wielkości,


Platform
Platform Name - nazwa platformy mobilnej, dla której jest przeznaczony program. Podobnie jak w przypadku typu procesora będzie to rozwinięte później
Minimum/Maximum Platform - najniższa/najwyższa wersja platformy mobilnej określonej w poprzedniej opcji,


Operating System
Minimum/Maximum OS Version - najniższa/najwyższa wersja systemu operacyjnego na którym program może pracować ("jest obsługiwany"),
Minimum/Maximum Build Version - najniższa/najwyższa wersja buildu systemu operacyjnego na którym program może pracować ("jest obsługiwany"),
Unsupported Platform - platformy systemowe, na których program nie zostanie zainstalowany (instalator odmówi współpracy) bo jest z nimi niekompatybilny.


Provisioning
Pre/Post XML - tu można dodać do instalatora pliki XML zawierające dodatkową konfigurację/polecenia, które zostaną zastosowane/wykonane, przed właściwą instalacją programu (PRE) lub po instalacji ale przed całkowitym zakończeniem pracy instalatora (POST).

Poniżej screeny pokazujące wygląd okna po uaktywnieniu pozostałych gałęzi drzewa (dla oszczędności miejsca główne okno programu zmniejszyłem do najmniejszej możliwej wysokości):


Files - grupa docelowo zawierająca pliki programu



Shortcuts - grupa docelowo zawierająca informacje o skrótach, które zostaną utworzone w czasie instalacji programu,



Registry - grupa odpowiadająca za dodanie do rejestru systemowego urządzenia określonych przez CAB-Buildera wpisów i wartości.


Jak to wygląda w praktyce zobaczysz podczas tworzenia pliku CAB.




2. Menu

Opiszę tylko te opcje, które są właściwe funkcjom programu - pozostałe opcje są zapewne ogólnie znane.


File


File | Import/Export | Import from INF - Import informacji o instalatorze z pliku INF oraz pobranie i umieszczenie w pliku CAB całej zawartości specjalnie przygotowanego  folderu.

File | Import/Export | Export to INF - Eksport informacji o instalatorze do pliku INF oraz wypakowanie zawartości instalatora do wskazanego folderu z zachowaniem jej struktury i właściwości.

File | Import/Export | Import from/Export to REG - Import/Eksport informacji o rejestrze z/do pliku REG


Edit



View



Cabinet


Cabinet | Setup DLL - dodanie\usunięcie\właściwości pliku Setup.dll zawartego opcjonalnie w instalatorze - Jest to jakby dodatkowy moduł instalatora umieszczony w pliku CAB i zawierający zaawansowane opcje instalacji programu. Tym tematem, być może, zajmiemy się później


Cabinet | Files - dodawanie\usuwanie\modyfikowanie\właściwości plików z poziomu menu


Cabinet | Shortcuts - tworzenie\usuwanie\modyfikowanie\właściwości skrótów programu z poziomu menu


Tools


Umożliwia dostęp do opcji programu. Zastanawiałem się długo czy opcje programu opisywać czy nie... ale pewnie i tak niedługo uzupełnię tego tutka. Warto jednak wiedzieć, że domyślna konfiguracja programu jest optymalna nawet dla średnio-zaawansowanych CAB-Builderów i tak naprawdę nie trzeba w niej nic zmieniać - prędzej coś się popsuje niż ulepszy. Ale z czasem i ona doczeka się swojego opisu.


Window i Help mają zawartość dokładnie taką samą jak każdy inny program, więc szkoda czasu i miejsca na ich opisywanie.





Część 2
Strugamy CABa, czyli: Nie taki CAB straszny, jak... mamy go czym zrobić.




Coś w rodzaju wstępu...

Jeżeli jeszcze nigdy nie zrobiłeś własnego instalatora, to na początek przyjmijmy kilka zasad:

  • przeczytaj cały post
  • postaraj się go przemyśleć i zrozumieć
  • poklikaj nieco w programie
  • przeczytaj cały post ponownie
  • jeśli nadal będziesz miał wątpliwości lub nie będziesz czegoś rozumiał... zapytaj lub pogulaj...

Kilka wyjaśnień odnośnie używanej w tutorialu symboliki i określeń:

Symbol: "\" (ukośnik) użyty jako pojedynczy symbol, oznacza katalog główny pamięci urządzenia,
Ścieżka rozpoczynająca się symbolem "\" (ukośnik) - oznacza pliki/foldery zlokalizowane bezpośrednio w pamięci urządzenia.
Np. "\Program Files" to folder "Program Files" na pamięci urządzenia - w odróżnieniu od "Moja Pamięć\Program Files\" który oznacza folder na dodatkowej pamięci urządzenia "Moja Pamięć".

Poniższy opis oparłem na bazie plików i ustawień programu Total Commander - poglądowo, ponownie zbudujemy instalator tego programu.
Program wybrałem dlatego, ponieważ zawiera wszystkie (no... prawie wszystkie) elementy instalatora, które powinieneś umieć sam zbudować, a jednocześnie jest on wystarczająco prosty jak na lekcję poglądową.

Sugeruję by od początku do końca operacji budowania CABa zachować porządek i kolejność wykonywania operacji. Jeśli nabierzesz kilka podstawowych nawyków, oszczędzi Ci to późniejszego zgrzytania zębami i dochodzeń odnośnie powodów niedziałania instalatora.



Przygotowania, czyli zbieramy surowce wtórne


Budowanie własnego instalatora warto zacząć od przygotowania sobie plików i dodatkowych rzeczy, którymi byśmy chcieli obdarować urządzenie potencjalnego użytkownika naszego programu.

Pliki, które chcesz zapakować do instalatora umieść sobie w jakimś osobnym, najlepiej łatwo dostępnym folderze - Pulpit może tu być akuratnym miejscem dla tego folderu.
W folderze utwórz podfoldery, które będą przypominać drzewo domyślnej lokalizacji plików. Tzn.: dla plików, które mają wylądować w "Program Files" - utwórz podfolder o tej samej nazwie, dla plików wpadających do "\Windows" - utwórz podfolder "Windows"... itd. Takie działanie, jak to zobaczysz później, ułatwi Ci pakowanie plików do CABa.
Dla łatwego dostępu, w tym samym folderze umieść wszystkie dodatkowe "materiały" potrzebne do budowania struktury instalatora - np. pliki *.reg zawierające klucze rejestru, które powinny znaleść się w instalatorze etc...

Pewnie zapytasz skąd wziąć plik *.reg... No cóż... Ani to czas, ani miejsce na wykłady o strukturze rejestru systemowego, ale ze dwa słowa się należą.
Otóż, te pliki to najczęściej wyeksportowane poprzez jakiś edytor klucze i wartości rejestru. Jednak taki plik możesz sobie stworzyć samemu - napisać go w notatniku i nadać rozszerzenie REG.
Jeśli chcesz zapoznać się ze strukturą takiego pliku, wyeksportuj sobie kilka kluczy rejestru PC-a, wynikowy plik *.reg otwórz notatnikiem i pooglądaj zawartość porównując je z oryginalnym wyglądem w edytorze rejestru.

Poniżej przykładowa składnica złomu:



Mając już skrystalizowany pomysł - w postaci przygotowanego materiału - na własny instalator możemy spokojnie naduśnąć ikonkę programu...



Podstawowa konfiguracja instalatora


Okno powitalne


Ano mamy domyślne okno startowe programu, czyli kreator tworzenia nowego pliku CAB.
Jeśli nie chcemy by ten kreator był domyślnym oknem startowym to zaznaczamy dolnego czekboksa i wciskamy przycisk "Dalej >".


Application Information (informacje o programie)


Tu mamy niewiele do roboty.
Wypełniamy tylko dwa pola: "Company Name:" i "Application Name:" (nazwa firmy/autora i nazwa programu).
Nazwy, które tu wpiszesz, staną się wpisem w systemowym "Usuń programy" w formie:

Company Name [spacja] Application Name

O długości każdego wpisu sam zadecydujesz, jednak unikaj przesady i pisania esejów w tym miejscu.
Aha... Otwierając to okno program domyślnie wypełni te pola za Ciebie nazwami typu: "My Name", "My application" czy jakimiś podobnymi... Nie bądź tym zdziwiony tylko pozmieniaj je na własne.

I znowu wciskamy przycisk "Dalej >".


Supported devices (obsługiwane urządzenia)


No i (przynajmniej teoretycznie) zaczynają się schody.
Tu określasz na jakich typach urządzeń, z WindowsCE na pokładzie, może pracować Twój instalator.
Tak szczerze mówiąc, możesz to określić, ale nie musisz.

"Allow the application to be installed onto any device type"
Dopuść instalowanie programu na wszystkich typach urządzeń - domyślnie zaznaczona opcja. Wybierając ją dopuścisz instalowanie swojego programu na wszystkich bez wyjątku urządzeniach. Inną sprawą jest to, jak zachowa się instalator na niekompatybilnym urządzeniu - jednak instalacja zostanie zainicjowana.

"Only allow the applicationto be installed onto the following device type"
Dopuść instalowanie programu tylko na wybranych poniżej typach urządzeń - Wybór tej opcji pozwoli Ci określić na konkretnie jakich typach urządzeń mobilnych instalator podejmie pracę. Jeśli jesteś ciekawy tej opcji, zaznacz ją i przejrzyj listę typów urządzeń.

To ustawienie sugeruję pozostawić bez zmian, czyli zaznaczona pierwsza opcja - przynajmniej do czasu, kiedy nabierzesz więcej wprawy w konstruowaniu instalatorów. Poza tym, podobnie skuteczne ograniczenia można wprowadzić w dalszych opcjach.

I znowu wciskamy przycisk "Dalej >".


Select Processor (wybór procesora)


Te ustawienia pozwalają Ci określić jakiego (typ/rodzaj) procesora wymaga twój instalator by w ogóle pracować.
Ustawienia dostępne w tym oknie są bezpośrednio zależne od opcji ustawionych w poprzednim kroku kreatora.
Jeżeli w poprzednim kroku pozostawiłeś domyślne, sugerowane opcje, to w tej formatce nie będziesz miał zbyt dużego wyboru (patrz screen). Ta sytuacja dopuszcza użycie każdego typu/rodzaju procesora.
Jeżeli twój poprzedni wybór był szczegółowy co do obsługiwanych urządzeń, ta lista rozwijalna zaoferuje Ci do wyboru więcej typów procesorów - ich liczba będzie zależała od wyborów dokonanych w poprzednim kroku.

Jeżeli Twój program nie ma specyficznych wymagań co do typu procesora, również i to ustawienie sugeruję pozostawić bez zmian.

I znowu wciskamy przycisk "Dalej >".


Summary (podsumowanie)


Że niby koniec? Nieeee... Tak naprawdę to dopiero początek. Etap, który teraz zakończyłeś to tylko ogólna i wstępna konfiguracja instalatora. To, co pozostało jeszcze do zrobienia jest wymienione pogrubioną czcionką, czyli (w kolejności na ekranie):
  • Ustawienie domyślnej ścieżki instalacji dla programu,
  • Dodanie plików programu do instalatora,
  • Dodanie/utworzenie skrótów wymaganych dla programu zainstalowanego w systemie,
  • Dodanie wpisów rejestru, które zostaną przeniesione do systemowego rejestru urządzenia,
  • Przejrzenie i ewentualne użycie innych dostępnych opcji.

No. :)

Teraz, tak dla odmiany, wciskamy przycisk "Zakończ".



Globalna konfiguracja instalatora


Kolejny etap rozpoczynamy z poniższym widokiem programu:


To jest szkielet Twojego instalatora - taki garnuszek, który będziesz wypełniał tymi wszystkimi, wcześniej zgromadzonymi miodnościami i pomysłami (czyt. złomem).
Wygląd nie jest Ci zapewne obcy, bo jak mniemam, zapoznałeś się z Częścią 1... Jeżeli nie, to Twoja strata i będziesz się musiał sam domyślać wielu rzeczy.

Aby rozpocząć szczegółową, konfigurację instalatora robimy dwumlask na pozycji "CAB Information" w lewym oknie programu (pozycja zakolorkowana na powyższym screenie).
Ustawienia, które teraz będziesz zmieniał są ustawieniami globalnymi i domyślnymi obowiązującymi wszystkie elementy instalatora.
Wyjątkiem od tej reguły jest globalna ścieżka instalacyjna, która może zostać zmieniona dla każdego pliku indywidualnie poprzez jego ustawienia szczegółowe.


Application (program)


Te ustawienia już znamy z etapu pierwszego. W tej chwili możesz poprawić wpisane wcześniej w oba pola edycyjne wartości.
Tutaj nową rzeczą jest czekboks:

"Allow user to uninstall this application" (ten zaznaczony, na dole)
Dopuść odinstalowanie programu przez użytkownika - Jeśli go zaznaczysz (domyślne ustawienie) dasz użytkownikowi możliwość odinstalowywania Twojego programu z urządzenia.
Jeśli czekboksa odznaczysz... to uważaj przy testach instalatora na własnym urządzeniu. Deinstalacja programu standardowymi metodami nie będzie możliwa. :P

Guziol "Zastosuj" i przechodzimy do następnej zakładki...


Installation Directory (ścieżka instalacji)


Zacznijmy od omówienia dostępnych opcji, później przejdziemy do meritum.
Co tu mamy...

"Do not allow user to select installation directory"
Nie pozwalaj użytkownikowi na zmianę ścieżki instalacyjnej - Zaznaczenie tej opcji ukryje przed użytkownikiem (pominie podczas instalacji) ekran wyboru miejsca instalacji programu - program zainstaluje się tam, gdzie będzie chciał... znaczy tam, gdzie mu ustawiłeś ścieżkę. Jest to również pewna uciążliwość i dla Ciebie gdyż w późniejszym etapie będziesz musiał ustawiać ścieżkę instalacyjną bezpośrednio dla plików programu.

"Use the default installation directory below, and allow the user to override it"
Użyj poniższej ścieżki instalacyjnej i pozwól użytkownikowi na jej zmianę - Zaznaczenie tej opcji powoduje instalację programu w ścieżce ustawionej w oknie poniżej opcji, jednak daje ona możliwość użytkownikowi na zmianę miejsca (pamięci) instalacji programu. Musisz wiedzieć, że każda ustawiona tu ścieżka, powoduje instalację programu domyślnie na pamięci urządzenia.
Zapewne instalując programy, zauważyłeś, że domyślnym wyborem miejsca instalacji jest pamięć urządzenia... Teraz już wiesz czemu.

Poniżej opcji jest okno prezentujące drzewo folderów w PAMIĘCI URZĄDZENIA.
Nazwy folderów są w pogańskim języku, ale dla procesu instalacji nie ma to żadnego znaczenia i nie staraj się ich spolszczać :P

"Hard-coded patch"
W wolnym tłumaczeniu: twarda/stała ścieżka instalacji - Znana i kochana przez wszystkich opcja :D
Zaznaczenie tego czekboksa skutkuje odebraniem użytkownikowi faktycznego wyboru miejsca instalacji programu.
Działanie jest takie samo jak pierwszej omawianej opcji, jednak instalator podczas pracy NIE pomija okna wyboru miejsca instalacji dając użytkownikowi złudną nadzieję, że panuje nad całym procesem. :P
Bardziej obrazowo mówiąc: Czy zdarzyło Ci się kiedyś, że na miejsce instalacji programu wybrałeś "Moja pamięć" a potem znalazłeś go (ten program) na pamięci urządzenia? Oj... pewnie się zdarzyło i to nie raz... No, to w takim razie empirycznie przetestowałeś skutek użycia tej opcji.
Ustawiając tą opcję w tym miejscu, sprawisz, że będzie ona dotyczyła domyślnie wszystkich dodawanych do instalatora plików. Musisz również wiedzieć, że tą opcję możesz ustawić również dla każdego dodawanego później pliku z osobna (lub grupy plików).
W przypadku zaznaczenia tego czekboksa, w zależności od ustawień poprzednich opcji, możesz (ale nie musisz) otrzymać komunikat mówiący, że ta operacja jest ryzykowna gdyż nie wszystkie urządzenia obsługują "twarde" ścieżki. Generalnie możesz zignorować ten komunikat. Urządzenia z WM 6 na pokładzie (a dla takiego urządzenia robisz instalator, prawda?) bez trudu dają sobie radę z tak ustawionymi ścieżkami instalacji.

OK. Wiemy już co tutaj jest do czego. Czas wybrać którąś z opcji i ewentualnie ustawić ścieżkę instalacji programu.

Niestety program ma jeden dość upierdliwy nawyk: Chce być strasznie pomocny. Widać to na wcześniej załączonym obrazku. To, co tam widać, to ścieżka instalacji stworzona przez program (aby Ci ułatwić życie oczywiście). Ścieżka została utworzona z wartości, które wpisywałeś wcześniej... Kojarzysz je? No właśnie... Całe szczęście, że te wartości były krótkie...
Ale nic to. Zakładam, że taki układ Ci nie pasuje - chcesz mieć swój program bezpośrednio w "Program Files" w folderze "Total Commander"...
Jako, że folderu "Total Commander" nijak nie da się przesunąć na tej liście o poziom wyżej, trzeba to, co dodał program usunąć i utworzyć folder jeszcze raz, czyli...
  • Klikasz, żeby było tak jak na powyższym screenie (chodzi o zaznaczony folder) i używasz przycisku "Delete" (po prawej).
  • Klikasz na folder "Program Files" (jako na nadrzędny dla naszego folderu) aby go zaznaczyć i używasz przycisku "New Folder" (również po prawej)
  • Zmieniasz nazwę nowo utworzonego folderu na taką jaką chcesz/potrzebujesz


Wułala, i już... Ścieżka instalacji gotowa.

UWAGA
Jest kilka zasad, o których powinieneś wiedzieć tworząc globalną, domyślną ścieżkę instalacji:
  • Globalna ścieżka instalacji ZAWSZE, domyślnie prowadzi na pamięć urządzenia,
  • Użytkownik może zmienić (jeśli dasz mu taką możliwość) miejsce/pamięć do instalacji programu,
  • Zdecydowanie ODRADZAM kierowanie globalnej ścieżki instalacyjnej do folderów systemowych (np. do "\Windows" czy jego podfolderów) - patrz pkt 2 - globalną ścieżkę staraj się ustawić zawsze na jakiś folder w "\Program Files".
    Jednak zdarzają się wypadki, że cała zawartość instalatora musi wylądować w "\Windows". W takim przypadku masz dwie możliwości:

    • Ustawiasz globalną ścieżkę instalacji na jakiś dowolnie utworzony folder w "Program Files", natomiast faktyczną ścieżkę instalacji ("\Windows") ustawiasz indywidualnie dla plików podczas dodawania ich do instalatora.
    • Ustawiasz globalną ścieżkę instalacji na folder "\Windows", ale odbierasz użytkownikowi możliwość zmiany miejsca instalacji ("Do not allow user to select installation directory" lub ostatecznie "Hard-coded patch").
    Jeżeli zrobisz inaczej, wystąpi sytuacja, w której użytkownik zmieniając miejsce instalacji programu spowoduje utworzenie folderu "Windows" na Moja Pamięć lub na Karta Pamięci - a to niekoniecznie musi być zdrowe rozwiązanie dla programu.
    Zdarzają się również (to już najczęściej) wypadki, że zawartość instalatora trafia w kilka miejsc - np. do "\Program Files" i do "\Windows". W takim przypadku, globalną ścieżkę instalacji zawsze ustawiaj na folder programu w "\Program Files". Ścieżki dla pliku(ów) mających trafić do "\Windows", ustawisz później - dla każdego pliku indywidualnie.
    W ten sposób spowodujesz, że nawet w przypadku zmiany miejsca instalacji przez użytkownika, wszystkie pliki zostaną skopiowane we właściwe miejsca.

Przykład takiej "dualnej" ścieżki będzie zobrazowany podczas dodawania plików do instalatora - czyli nieco później.

Teraz kliknij guziol "Zastosuj" i przechodzimy do następnej zakładki...


Cabinet (instalator)


Ta zakładka jest odpowiednikiem okna wyboru procesora podczas konfiguracji wstępnej. Jeżeli nie masz chęci zmieniać/poprawiać swojego wcześniejszego wyboru to nie robisz tego.

Dodatkową, dostępną tutaj opcją jest czekboks:

"Compress the CAB file"
Kompresuj plik CAB - Zaznaczenie tej opcji spowoduje dodatkową kompresję zawartości pliku instalatora co niejednokrotnie potrafi w dużym stopniu zmniejszyć jego wielkość.
W przypadku zaznaczenia tego czekboksa, w zależności od ustawień poprzednich opcji, możesz (ale nie musisz) otrzymać komunikat mówiący, że ta operacja jest ryzykowna gdyż nie wszystkie urządzenia obsługują kompresowane instalatory. Generalnie możesz zignorować ten komunikat. Urządzenia z WM 6 na pokładzie (a dla takiego urządzenia robisz instalator, prawda?) bez trudu dają sobie radę z kompresowanymi instalatorami.

Guziol "Zastosuj" i przechodzimy do następnej zakładki (tak dla odmiany)...


Platform (platforma)


I ta zakładka jest podobna do jednego z okien konfiguracji wstępnej (krok 2). Jednak z tą różnicą, że w tym przypadku wybór platformy jest bardzo ogólny. Mamy do dyspozycji tylko trzy rodzaje platform: PocketPC, Smartfony i SSDK - bez uszczegóławiania tego wyboru systemami operacyjnymi.

Mimo, iż osobiście sugeruję pozostawić te ustawienia w takim stanie jak na powyższym screenie, omówmy sobie co mamy tu do dyspozycji...

"Do not limit the installation to a single platform"
Nie ograniczaj instalacji do jednej platformy - Zaznaczając tą opcję znosisz jakiekolwiek ograniczenia co do mobilnych platform na jakich może działać instalator - czyli "wolna amerykanka".

"Limit the installation to the platform specific below"
Ograniczenie instalacji do jednej wybranej platformy - Wybierając tą opcję ograniczysz instalację do jednej platformy mobilnej.
Zaznaczając tą opcję musisz dodatkowo opisać bloki "Minimum/Maximum Platform", czyli ustalić najniższą i najwyższą wersję platformy mobilnej dla instalatora.

Teraz wyłamiemy się ze schematu, wduśniemy guziol "Zastosuj" i przejdziemy do następnej zakładki...


Operating system (system operacyjny)


Tutaj ustalasz minimalną i maksymalną wersję systemu operacyjnego (WM) dla którego przeznaczony jest Twój program.
Domyślne, proponowane przez program wartości to "0" (zero), jednak ja sugeruję wypełnić oba bloki - np. w sposób jak na screenie. Zapobiegnie to "stresującym" komunikatom poinstalacyjnym typu: "Nie można prawidłowo wyświetlić programu gdyż jest przeznaczony dla starszej wersji systemu"... czy jakoś tak... Zapewne je znasz, a to właśnie brak tych ustawień je powoduje.

Poniżej, w bloku:

"Unsupported Platforms"
Platformy niewspierane - możesz dodatkowo wybrać typy urządzeń, które nie są wspierane przez Twój program... Heh... bardzo egzotyczne te urządzenia...

Ale teraz to bedzie zupełny czad !!
Guziol "Zastosuj" i... "OK" !! :D

Po tych wszystkich operacjach wnętrze Twojego CABa wygląda tak:


Zaznaczyłem wartości, które się zmieniły (tylko te, które widać "na zewnątrz").



Dodajemy pliki programu


Najpierw kliknij (zaznacz) gałąź "File" w lewym oknie programu...
Pliki do projektu możesz dodać na dwa sposoby:

Sposób 1
  • Prawomlask w prawym oknie programu i z menu podręcznego wybierasz "Add...",
  • W oknie eksploratora plików, które się wyświetli, znajdujesz folder ze swoimi plikami i zaznaczasz je - wszystkie albo jeden... ile chcesz,
  • Klikasz przycisk "Otwórz"...

Sposób 2
  • Otwierasz folder ze swoimi plikami, zaznaczasz je i przeciągasz na prawe okno programu.

Bez względu na sposób, którego użyjesz, otrzymasz taki wynik:


General (Podstawowe)


Jak można się domyśleć z powyższego screena, ja dodaję do projektu 5 plików jednocześnie. W przypadku dodawania jednego pliku, okno będzie wyglądało podobnie, ino wyrażenia typu "<Multiple Selection>" zamienią się na konkretne dane o pliku.

W tym przypadku interesuje Cię (jeśli wogóle) grupa opcji "Attributes:" (atrybuty pliku):

"Read-only" - tylko do odczytu
"Archive" - archiwalny (domyślny atrybut pliku, powinien być zawsze zaznaczony)
"Hidden" - ukryty
"System" - systemowy

W zależności od potrzeb zaznaczasz odpowiednie atrybuty dla pliku(ów). Jeśli nie wiesz jakie atrybuty zaznaczyć, najprawdopodobniej oznacza to, że spokojnie możesz pozostawić stan domyślny - taki jak na screenie.


Flags (flagi plików/znaczniki)


Najpierw małe co nieco o dostępnych opcjach...

- Copy Options

"Do not overwrite existing files"
Nie nadpisuj istniejących plików - jeżeli instalator napotka w ścieżcze instalacyjnej na urządzeniu plik o tej samej nazwie i roższerzeniu pominie kopiowanie do urządzenia pliku ze swoich zasobów.

"Copy file only if it is replacing an existing file"
Kopiuj plik tylko wtedy, gdy ma on nadpisać istniejący - sytuacja odwrotna do poprzedniej. Instalator skopiuje do urządzenia plik tylko wtedy gdy w ścieżce instalacyjnej już istnieje plik o takiej samej nazwie i rozszerzeniu - co za tym idzie, nadpisze plik istniejący.

"Do not copy file if the target file is never"
Nie kopiuj pliku jeśli plik docelowy jest nowszy - W przypadku, gdy instalator znajdzie w ścieżce instalacyjnej na urządzeniu plik o takiej samej nazwie i rozszerzeniu jak plik kopiowany, najpierw sprawdzi datę jego utworzenia. Jeżeli będzie ona późniejsza od daty utworzenia pliku z zasobów instalatora, kopiowanie pliku zostanie pominięte - w innym przypadku plik na urządzeniu zostanie nadpisany.

"Ignore date while overwriting the target file"
Ignoruj datę podczas nadpisywania pliku docelowego - instalator nie będzie się przejmował datami utworzenia plików - może to zapobiec pewnym specyficznym komunikatom instalacyjnym zależnym od konfiguracji systemu na urządzeniu.

Jeżeli twój program nie posiada jakiejś specyficznej konfiguracji, która wymaga specjalnego traktowania plików już istniejących, to na dobrą sprawę możesz nie zajmować się tą grupą opcji i pozostawić ustawienia domyślne.


- Error Handling (obsługa błędów)

"Warn user if file is not copied"
Ostrzeż użytkownika gdy plik nie został skopiowany - w przypadku, gdy instalator nie będzie w stanie skopiować jakiegoś pliku do urządzenia, wyświetli komunikat ostrzegawczy i zapyta czy pominąć ten plik. Gdy ta opcja nie będzie zaznaczona, błąd nie zostanie zasygnalizowany a plik będzie automatycznie pominięty.
Tobie ta opcja może się przydać w czasie testów do sprawdzenia poprawności konfiguracji plików.

"Do not allow user to skip file on error"
Nie pozwalaj użytkownikowi pominąć pliku w przypadku błędu - jeżeli wystąpi jakikolwiek błąd pliku w procesie instalacji, użytkownik nie będzie miał możliwości pominięcia pliku i najczęściej będzie się to wiązało z zakończeniem instalacji. Ma to zastosowanie najczęściej dla plików, które są niezbędne instalowanemu programowi a których pominięcie nie pozwoli na prawidłową pracę programu.

Osobiście sugeruję pozostawiać te opcje w stanie domyślnym.


- Sharing (wielodostęp/współdzielenie)

"Shared files"
Plik współdzielony, używany przez więcej niż jeden program - bardzo specyficzne i bardzo rzadko używane ustawienie.
Ja, osobiście, na kilkaset modyfikowanych CABów, spotkałem się z tym ustawieniem tylko jeden raz - CAB zawierał poważne modyfikacje plików systemowych.

"Self-registering"
Plik samorejestrujący się w systemie - najczęściej wymagajace rejestracji w systemie biblioteki dll, kontrolki ActiveX lub inne pliki, których używa system. Podobny efekt, ale w bezpieczniejszy sposób można uzyskać poprzez rejestr systemowy urządzenia.

W praktyce ta grupa Cię nie interesuje na bieżącym etapie znajomości z CABem.


Location (lokalizacja/ścieżka instalacyjna)


Ta zakładka pozwala na ustawienie ścieżki instalacyjnej dla dodawanych plików. Ja wiem, że podobną operację robiłeś podczas ustawień globalnych instalatora. Jednak ta zakładka umożliwia Ci zmianę lokalizacji dla jednego konkretnego pliku lub wszystkich aktualnie dodawanych.
Ale od początku żeby nie mieszać.
W ustawieniach globalnych instalatora ustawiałeś globalną ścieżkę instalacyjną programu - tu, jest ona reprezentowana w postaci gałęzi "%InstallDir%" (podświetlona na screenie). Jeśli ustawienie to pozostawisz bez zmian (tak jak na screenie), wszystkie pliki, które teraz dodasz, wylądują na urządzeniu w ścieżce globalnej (domyślnej).
W naszym przypadku, wcześniej ustawiona globalna, domyślna ścieżka instalacyjna to:

%InstallDir% = \Program Files\Total Commander

Pliki, które aktualnie dodajesz są przeznaczone do tej właśnie lokalizacji i tam też wylądują. W tym przypadku nie musisz zmieniać ścieżki instalacyjnej.

UWAGA:
Ciąg "%InstallDir%", jest dla instalatora zmienną (variable), czyli ciągiem danych mogącym przyjmować różne wartości. Wystąpienie wyrażenia "%InstallDir%" w drzewie katalogów oznacza, że mamy do czynienia ze ścieżką instalacji, która może zostać zmodyfikowana przez użytkownika instalującego program.
Tak więc, "%InstallDir%" w zależności od wyboru użytkownika programu, może przyjąć wartości:

%InstallDir% = \Program Files\Total Commander (wartość domyślna)
%InstallDir% = Moja Pamięć\Program Files\Total Commander (opcja dla użytkownika)
%InstallDir% = Karta Pamięci\Program Files\Total Commander (opcja dla użytkownika)

Mam nadzieję, że teraz już się nieco bardziej rozjaśniło.

Czyli pliki do "Program Files" masz przeniesione. Jednak pozostały nam jeszcze pliki, które muszą zostać przeniesione do "\Windows".

Kliknij "OK" i ponownie rozpocznij proces dodawania plików.

Proces dodawania i konfigurowania takich plików będzie taki sam jak poprzednio, jednak z jednym małym wyjątkiem.
Ścieżka instalacyjna takiego pliku musi zostać skierowana na konkretny folder pamięci urządzenia, w tym przypadku na "\Windows".


Jak widać na powyższym screenie, globalna ścieżka instalacji programu (%InstallDir%) swoją drogą, a ścieżka instalacji tego konkretnego pliku, swoją drogą. Ten konkretny plik, bez względu na zachcianki użytkownika, zawsze trafi do "\Windows".

Kliknij "OK"

Obecnie nasz instalator wygląda tak:




Teraz czas na uśmiechnięcie się do potencjalnego użytkownika programu. Jednym słowem, tworzymy skróty do programu...



Tworzymy skróty programu


Zapewne wiesz, co to jest skrót do programu i jaki jest użyteczny. Tak więc pozwól, by przyszły użytkownik programu też mógł się cieszyć tą funkcjonalnością.

W lewym oknie programu zaznacz pozycję "Shortcuts", a w prawym zrób prawomlask myszą i z menu podręcznego wybierz "Add..."


Zgodnie z nową świecka tradycją pojawi się okno powitalne kreatora skrótów...


...które możesz pominąć.

Klikając przycisk "Dalej >" przechodzisz do następnego kroku...


Shortcut Name (nazwa skrótu)


Tu wpisujesz nazwę wyświetlaną skrótu, która będzie identyfikowała program. W tym przypadku jest to nazwa "Total Commander", ale możesz tu wpisać co tylko chcesz - Twoja sprawa czy chcesz ułatwiać życie użytkownikowi programu czy nie. :P

Jeśli już, to "Dalej >"...


Shortcut target (cel, plik do którego prowadzi skrót)


Teraz musisz wybrać plik, do którego będzie prowadził skrót - najczęściej jest to plik wykonywalny programu (*.exe).

W tym oknie masz do wyboru dwie opcje:

"I would like to create a shortcut to this file:"
Chcę utworzyć skrót do tego pliku - znaczy, do pliku wybranego z poniższej listy rozwijalnej.

"I would like to create a shortcut to this folder:"
Chcę utworzyć skrót do tego folderu - znaczy, do folderu wybranego z poniższej listy rozwijalnej.
W przypadku tej opcji będziesz miał do wyboru tylko te foldery, które występują we wcześniej określonych przez Ciebie ścieżkach instalacyjnych. W tym przypadku będzie to "%Instaldir%" (chyba jasne) oraz "%CE2%" czyli symbol reprezentujący folder "\Windows".

UWAGA:
Prawdopodobnie nie będziesz musiał tego używać, ale warto żebyś wiedział, iż instalator prezentuje wszystkie ścieżki systemowe w postaci zmiennych systemowych %CEx% - gdzie "x" to symbol folderu systemowego.

Ty tworzysz skrót do pliku, więc zaznaczasz pierwszą opcję, rozwijasz listę...


...i wybierasz interesujący Cię plik.

Znowu "Dalej >"...


Shortcut Location (lokalizacja dla skrótu)


Teraz tylko pozostaje określić gdzie chcesz by skrót się znajdował.
Jak widać na powyższym screenie, program podpowiedział Ci domyślną lokalizację skrótu w "\Windows\Programy" - skrót pojawi się w "Menu Start\Programy". Myślę, że jest to dobry wybór i nie trzeba go zmieniać. Ale jeśli masz na to ochotę, to nic nie stoi na przeszkodzie...

No to teraz "Zakończ" i mamy gotowy skrót do programu.




Ja, podczas tworzenia tego CABa utworzyłem dodatkowy skrót do pomocy programu o takiej samej nazwie jak pierwszy, mówię żeby nie było zdziwka nieco później. :)

Teraz czas na operację, która może skutecznie popsuć system operacyjny na urządzeniu użytkownika.



Dodajemy wpisy rejestru


Wpisy, które dodasz w tym kroku, zostaną przeniesione do rejestru systemowego urządzenia. Dlatego też, dobrze przemyśl wszystkie podejmowane tu działania i miej przygotowaną (najlepiej na kartce lub w formie pliku *.reg) strukturę rejestru, którą chcesz umieścić na urządzeniu.

Kliknij na pozycji "Registry" w lewym oknie programu i rozwiń tą gałąź...


Jak widać została tu już umieszczona baza dla twoich wpisów - podstawowa struktura rejestru zawierająca wszystkie główne klucze rejestru.

Wpisy do rejestru możesz dodawać na dwa sposoby:
  • Ręcznie - czyli tworząc samodzielnie całe drzewo rejestrów i wprowadzając żądane wartości. Stosując tą metodę należy w szczególności uważać na błędy pisowni, literówki etc. Metoda dobra do stworzenia maksymalnie kilku prostych wpisów - dla bardziej rozbudowanej struktury, strasznie żmudna... Ponad to musisz mieć przynajmniej podstawową wiedzę nt. rodzajów wartości rejestrów (Binary, DWORD, Multi-string...)
  • Poprzez import z pliku *.reg - opcja szybka, łatwa i przyjemna - praktycznie eliminuje błędy jakie można popełnić podczas ręcznego tworzenia kluczy.

Ale do rzeczy.

Sposób ręczny (w formie komiksu):












Jeśli wszystko zrobisz prawidłowo, to po kilkudziesięciu minutach (godzinach?) otrzymasz gotową strukturę:



Import z pliku *.reg

Do tego celu użyj menu programu:

File | Import | Import from REG...

W oknie eksploratora plików znajdź wcześniej przygotowany plik i wciśnij przycisk "Otwórz".
Po kilku sekundach program zamelduje Ci o prawidłowym (albo i nie :P ) imporcie pliku i da w prezencie gotowy produkt:


To właściwie wszystko. Projekt Twojego instalatora, po poglądowym rozwinięciu wszystkich gałęzi, wygląda tak:




Kończymy...


Teraz tylko pozostaje Ci zapisanie tego projektu do fizycznego pliku CAB. wystarczy, że użyjesz przycisku "Dyskietki" (Save) z paska narzędzi programu...




...i tak może wyglądać Twój instalator, którym obdarujesz Naszą Społeczność - oczywiście po testach na swoim własnym urządzeniu. :D










Pozdrawiam i życzę masy działających instalatorów

Wall-E
« Ostatnia zmiana: Sobota, 04 Grudzień 2010, 13:24 wysłana przez Wall-E »

Offline Speeder

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 1934
  • Podziękowań: 26
  • Płeć: Mężczyzna
  • HTC Wizard, ASUS P750, HTC Desire, HTC HD2
Odp: [How-To] WinCE CAB Manager & Instalatory CAB
« Odpowiedź #1 dnia: Piątek, 03 Grudzień 2010, 19:06 »
Nie wiem czy zaznaczyłeś, że soft nie jest darmowy (wybacz, nie chciało mi się czytać całości).

Offline Wall-E

  • ModMaker
  • Senior
  • ***
  • Wiadomości: 353
  • Podziękowań: 79
  • Płeć: Mężczyzna
  • Samsung Galaxy S II, Samsung Galaxy Tab 10.1
Odp: [How-To] WinCE CAB Manager & Instalatory CAB
« Odpowiedź #2 dnia: Piątek, 03 Grudzień 2010, 19:14 »
Tutaj nie zaznaczałem. Jest to napisane w wątku programu (o ile dobrze kojarzę...).

Ale OK. Rację masz. Uzupełnię.
« Ostatnia zmiana: Sobota, 04 Grudzień 2010, 12:44 wysłana przez Wall-E »

Offline mobi

  • Administrator
  • Core
  • *****
  • Wiadomości: 19421
  • Podziękowań: 314
  • Płeć: Mężczyzna
  • HTC HD2 #TyphooN CyanogenMod 7#
    • mobione.pl
Odp: [How-To] WinCE CAB Manager & Instalatory CAB
« Odpowiedź #3 dnia: Piątek, 03 Grudzień 2010, 20:00 »
 :o najdłuższy tutek jakiego widziałem  :B +
Jest też nieoficjalna wersja PL programu i nawet chyba Twojego autorstwa.
HD2 - wciąż ten sam telefon, wciąż inne wrażenia :)

Offline Wall-E

  • ModMaker
  • Senior
  • ***
  • Wiadomości: 353
  • Podziękowań: 79
  • Płeć: Mężczyzna
  • Samsung Galaxy S II, Samsung Galaxy Tab 10.1
Odp: [How-To] WinCE CAB Manager & Instalatory CAB
« Odpowiedź #4 dnia: Piątek, 03 Grudzień 2010, 20:06 »
Ano jest :) Ale tutek powstał jeszcze przed spolszczeniem i jakoś nie mogę się zebrać co by go "ukompatybilnić"  :p

BTW... wiem, że długi i uważam to za jego największą wadę... Heh... Krócej może by się i dało, ale ja nie umiem...  :-[
« Ostatnia zmiana: Piątek, 03 Grudzień 2010, 20:09 wysłana przez Wall-E »

Offline mobi

  • Administrator
  • Core
  • *****
  • Wiadomości: 19421
  • Podziękowań: 314
  • Płeć: Mężczyzna
  • HTC HD2 #TyphooN CyanogenMod 7#
    • mobione.pl
Odp: [How-To] WinCE CAB Manager & Instalatory CAB
« Odpowiedź #5 dnia: Sobota, 04 Grudzień 2010, 00:16 »
Cytuj
wiem, że długi i uważam to za jego największą wadę
Absolutnie nie masz racji, patrzysz z punktu widzenia osoby znającej ten program, ale dla początkującego on może być za krótki :)
W każdym razie jest wyczerpujący wg. mnie.
HD2 - wciąż ten sam telefon, wciąż inne wrażenia :)

Offline Saracen

  • Wizytator
  • Wiadomości: 4
  • Podziękowań: 0
Odp: [How-To] WinCE CAB Manager & Instalatory CAB
« Odpowiedź #6 dnia: Sobota, 04 Grudzień 2010, 09:39 »
Mi się ten dokładny tutek przyda. Próbowałem zrobić caba i miałem kłopoty z jego instalacją. Po prosty się zapętliła i po skończeniu zaczynała się od początku.

Offline Speeder

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 1934
  • Podziękowań: 26
  • Płeć: Mężczyzna
  • HTC Wizard, ASUS P750, HTC Desire, HTC HD2
Odp: [How-To] WinCE CAB Manager & Instalatory CAB
« Odpowiedź #7 dnia: Sobota, 04 Grudzień 2010, 09:49 »
Może zrobiłeś instalator rekurencyjny :)

Offline Saracen

  • Wizytator
  • Wiadomości: 4
  • Podziękowań: 0
Odp: [How-To] WinCE CAB Manager & Instalatory CAB
« Odpowiedź #8 dnia: Niedziela, 05 Grudzień 2010, 10:22 »
Możliwe to było moje pierwsze podejście. Teraz będzie drugie :)

Edit:
Jak usunąć wpis w rejestrze? Mam plik REG usuwający wpis lecz po zaimportowaniu go do programu nie widzę go. Plik wygląda tak:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\HTC\HTCAlbum]
"VideoSaveFolder_0409"=-
« Ostatnia zmiana: Poniedziałek, 06 Grudzień 2010, 14:29 wysłana przez Saracen »