Søg på DotNyt:
Denne blog er flyttet til www.nielsbrinch.com


onsdag den 27. august 2008

Installation af Smart Device applikation på Windows Mobile

skrevet af Niels Brinch

Jeg begynder at skrive dette blog-indlæg uden at vide om det faktisk vil lykkes mig at installere min lille Timer-applikation på min telefon. Jeg ved der måske er et problem i forhold til jeg har kodet den op mod .NET 3.5 og det er ikke installeret på min telefon.

Uanset hvad, skal jeg starte med at tilføje et nyt projekt til min solution, nemlig et Smart Device CAB Project.

image

Herefter bør man tage stilling til applikationens navn, som er en egenskab på selve det nye projekt. Du bør også ændre Manufacturer. Når applikationen senere er installeret, og du vil afinstallere, består applikationens navn af Manufacturer og ProductName til sammen.

For at vælge hvad det er du vil installere, skal du til din installer tilføje det projekt som indeholder din applikation. Det gør du i det skærmbillede som hedder File System. Hvis det ikke er synligt kan du højreklikke på dit installer-projekt og vælge View -> File System.

Sådan ser det ud når det er lykkedes.

image

Højreklik på Application Folder og Add -> Project Output

I dialogen der kommer frem skal du sikre dig din applikation er valgt i rullemenuen øverst. Det er den eneste valgmulighed, med mindre du har flere projekter i din solution.

image

Det er Primary Output, altså den øverste valgmulighed, som skal være valgt. Tryk OK.

Hvis alt er gået vel, ser det nu sådan ud:

image

Jeg gentager og vælger "Content Files", så jeg også får min TimerDB.sdf med i projektet.

Højreklik på output-ikonet til højre og vælg "Create shortcut ... (osv.)" så dit program er til at finde når det er installeret. Omdøb genvejen til noget passende, f.eks. applikationens navn.

Højreklik på dit installer-projekt og tryk build. Nu er der en CAB-fil i dit projekt, formentlig under "Debug"-biblioteket, hvis du ikke har kompileret til Release. Denne CAB-fil skal kopieres til din telefon og så skal den eksekveres fra din telefon. Det skulle være det.

Om det virker i mit tilfælde, finder jeg ud af nu ...

CAB-filen er kopieret til min telefon og installationen fungerer tilsyneladende helt fint. Jeg navigerer frem til applikationen gennem filsystemet og klikker på den.

"Programmet kræver en nyere version af Microsoft .NET Compact Framework end den version, som er installeret på enheden".

Normalt ville jeg bare ændre det framework der skal kompileres til, men den feature ser ikke ud til at være til stede for Smart Device-applikationer:

image

Det skal åbenbart vælges når projektet skal oprettes. Det tænkte jeg ikke på da jeg oprettede projektet i al hast og nu er jeg nødt til at starte et helt nyt projekt og migrere al koden fra 3.5-projektet til et 2.0-projekt, for at få timeren til at fungere.

Eller jeg kan kræve af brugerne at de skal have .NET 3.5 installeret. Nok ikke klogt, når min 1 måned gamle telefon med nyeste version af Windows Mobile ikke har det.

Sådan vælges hvilket framework man vil udvikle op mod, når man opretter sit projekt.

image

Og ret frækt, når man har gjort sit valg, bliver man også spurgt når man skal vælge emulator.

image

En 'morsom' lille fodnote omkring processen da jeg skulle migrere til den nye .NET 2.0 applikation ... under processen mistede jeg Settings.cs. Hvis jeg ikke netop havde skrevet et blogindlæg om det, ville jeg have skullet skrive al koden forfra. Det viste sig dog at SqlServerCe ikke var til at få til at fungere i .NET 2.0, så det endte med jeg kasserede den kode jeg lige havde genskabt og skrev en lignende Settings-fil med anvendelse af flade tekst-filer i stedet.

Efter vel endt migrering, fulgte jeg min egen guide til installationen og det hele fungerer uden videre. Timeren kører på min telefon og jeg glæder mig til at bruge den til at komme i tanke om at tage en lasagne ud af ovnen. Når jeg nu ikke kan lave lasagnen selv, er det da en trøst at vide, at jeg har lavet timeren selv.

Timeren kan hentes her og så kan du overføre den til din telefon, men har du internet på telefonen, er det nok endnu nemmere at indtaste www.dotnyt.dk/timer.cab i browseren på din telefon.

Edit: Efter at have prøvet timeren i praksis, fik jeg nogle ret brankede ovnkartofler ud af det. Det viser sig at tiden ikke går mens telefonen er på standby, hvilket på min telefon sker efter 30 sekunder. Jeg tror der må komme en version 1.1 af min Timer inden længe, som er lidt mere til at stole på.

0 kommentarer

0 Kommentarer:

Send en kommentar

<< Tilbage


 
Til forsiden

Niels Brinch