Na początek przyznam się, że zawsze miałem problemy z projektami instalacyjnymi. Dlatego chciałbym w kilku krokach przybliżyć wam mój sposób tworzenia poprawnego CAB-a dla Compact Framework, do którego doszedłem po wielu testach i próbach.
Projekt do którego tworzę CAB-a nazywa się Largo.
Krok pierwszy – tworzymy “Smart Device CAB Project”:
Ja przyjąłem standard nazewnictwa [Nazwa projektu].Cab. Ale jako tako nazwa ta nie ma większego znaczenia.
Krok drugi – zmieniamy nazwę pliku wyjściowego (prawy klik na projekcie i wybieramy Properties):
Na początek mała uwaga, kliknięcie Properties z menu kontekstowego przywołuje inny ekran niż wybór Properties z Properties Window.
Domyślna nazwa zbudowana jest według zasady “Debug\[Nazwa projektu CAB].cab” dlatego w naszym przypadku będzie to “Debug\Largo.Cab.cab”. Wystarczy usunąć przyrostek .cab aby nazwa wyglądała poprawnie (“Debug\Largo.cab”).
Krok trzeci – zmiana nazwy produktu i firmy (wybieramy Properties z Properties Window):

Manufacturer – zmieniamy na nazwę naszej firmy / imię nazwisko lub nick. Ta nazwa pojawi się tylko i wyłącznie podczas instalacji w momencie kiedy Windows Mobile pyta nas czy chcemy zainstalować program “[Manufacturer] [ProductName]“. Według mnie nazwa ta jest odrobinę zbędna ale np. Windows Marketplace for Mobile wymaga aby nazwa ta zgadzała się z nazwą firmy / dewelopera który jest zgłoszony do sklepu.
ProductName – zmieniamy na nazwę naszego programu. Domyślnie jest to nazwa projektu CAB. W tym punkcie warto pamiętać, że pod taką nazwą pojawi się katalog z naszą aplikacją w “Program Files”.
Krok czwarty – usuwamy z “File System” folder o nazwie “Program Files Folder” (prawy klik na katalogu i wybieramy Delete):
W większości przypadków ten katalog jest zbędny dlatego spokojnie można go usunąć.
Krok piąty – dodajemy “Primary Output” (prawy klik na projekcie Add -> Project Output… ):

To jest zestaw podstawowych plików naszej aplikacji, który zawiera plik exe oraz załączone biblioteki.
Krok szósty – utworzenie katalogu “Programs Folder” (prawy klik na lewym panelu Add Special Folder – > Programs Folder):
Krok siódmy – utworzenie skrótu do programu (rozwijamy w lewym panelu wcześniej utworzony “Programs Folder” i w prawym panelu, prawy klik “Create New Shortcut”):
Następnie pojawi się okno wyboru elementu do którego tworzymy skrót:
Wybieramy “Application Folder” a następnie “Primary output from [Nazwa projektu] (Active)”:
Nazwa która się pojawi od razu zmieniamy na “Largo” (albo jakakolwiek inna). Ta nazwa pojawi się w menu Start.
I to zasadniczo wszystko. W siedmiu krokach udało nam się utworzyć podstawowy projekt CAB. Ze swojej strony chciałbym tylko dodać kilka porad co do późniejszej pracy z takim projektem:
- Jeżeli dodajemy do oryginalnego projektu jakieś biblioteki warto po kompilacji kliknąć na katalogu “Detected Dependencies” i wybrać “Refresh Dependencies”. Czasami Visual Studio zapomina je odświeżyć i dlatego warto zrobić to ręcznie.
- Jeżeli używamy plików z ustawionymi atrybutami “Build Action” na “Content” pamiętajmy o tym aby je dołączyć do CAB. Wystarczy prawy klik na projekcie Add -> Project Output -> Content Files i pliki znajdą się w instalatorze.
- Podobnie jak powyżej dodajemy pliki lokalizacyjne Add -> Project Output -> Localized resources.














Kacper
/ 2010-02-02Witam,
bardzo fajny artykuł, ale tworzenie CAB w VS2008 działa u mnie tylko dla
WM5 SDK, natomiast dla WM6 SDK wszystkie próby tworzenia CAB skończyły się niepowodzeniem :/ nie mam pomysłu co z tym zrobić :/
Jakieś pomysły ?
Pozdrawiam
Jakub Florczyk
/ 2010-02-02@Kacper
A jakie masz objawy?