Jakub Florczyk - Blog o programowaniu .NET i Android

Programista praktyczny

Poprawny .NET Compact Framework CAB w kilku krokach

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”:

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.

Property_Pages

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):

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):

Program_Files_Folder_remove

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… ):

Primary_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):

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”):

Create_New_Shortcut

Następnie pojawi się okno wyboru elementu do którego tworzymy skrót:

Select_Item_In_Project

Wybieramy “Application Folder” a następnie “Primary output from [Nazwa projektu] (Active)”:

Primary_Output_From_Largo

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.

3 ResponsesLeave one →

  1. Kacper

     /  2010-02-02

    Witam,

    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 :)

  2. Jakub Florczyk

     /  2010-02-02

    @Kacper

    A jakie masz objawy?

Leave a Reply