Blog Home  Home Feed your aggregator (RSS 2.0)  
Peter Nowaks Mobile Blog - Monday, August 04, 2008
Mobility on the Run
 
 Monday, August 04, 2008

Letzten Freitag wurde von OpenNETCF CAB Installer SDK veröffentlicht. Der Name selbst ist dabei leider nicht selbstbeschreibend. So handelt es sich bei dem SDK quasi um eine eigene Implementation von wceload in verwaltetem Code. wceload ist verantwortlich für die Installation von CAB-Dateien auf dem mobilen Endgerät. Das OpenNETCF Projekt versteht das CAB-Dateiformat und ermöglicht das anpassen des Installers nach seinen eigenen Wünschen.

Interessant wird das jedoch erst, wenn man einen eigenen Installer auf dieser Basis implementiert, der anstatt nativer Setup.DLLs eigene managed Setup.DLLs verarbeitet. Das ist möglich. Mal sehen, ob ich demnächst die Zeit dazu finde etwas derartiges zu Realisieren.

Leider ist das Produkt selbst nicht kostenfrei, aber dafür alles andere als teuer. Ich habe es mir auf jeden Fall schon mal gekauft.

 

Weitere Informationen zum OpenNETCF CAB Installer SDK finden Sie hier.

 

- English Version -

 

Last friday the OpenNETCF CAB Installer SDK has been published. The name is unfortunatelly not self describing. This SDK is a "cloned" version of wceload in managed code. wceload is responsible for installing CAB files on a mobile device. The OpenNETCF Project understands the CAB fileformat and enables you to change the installers behaviour to your needs.

It get's really intersting, if you think of creating an installer, which processes own created managed Setup.DLLs  instead of native Setup.DLLs. This is now possible. Let's see if I find the time to create a sample for this.

The product itself isn't free, but therefore anything else than expensive. This is why I bought a copy.

 

More info on the OpenNETCF CAB Installer SDK can be found here.

Monday, August 04, 2008 10:36:41 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | OpenNETCF | Windows Mobile  |  Trackback
 Thursday, July 31, 2008

Constanze Kratel, Community Program Manager bei Microsoft in Redmond interviewt Device Application Development MVPs. Den Anfang macht Sie mit Maarten Struys, MVP aus den Niederlanden. Dabei erzählt Maarten nicht nur über sich selbst, sondern teilt seine Gedanken über Mobility mit.

Definitiv sehenswert, alleine schon um die Personen auch mal zu sehen, die man sonst nur im Webcast hört.

 

- English Version -

 

Constanze Kratel, Community Program Manager at Microsoft in Redmond interviews Device Application Development MVPs. She starts with Maarten Struys, MVP from the netherlands. Maarten doesn't just talk about himself, but shares his thoughts.

A must see, already because you get to see people you normally just hear on a webcast.

Thursday, July 31, 2008 7:29:29 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [1]   Off Topic  |  Trackback
 Friday, July 25, 2008

Jason Langridge weißt daraufhin, dass eine Broschüre veröffentlicht wurde, welche herausstellt, wieso Windows Mobile eine grossartige Plattform für den Einsatz in Organisationen ist.

Die Broschüre im PDF Format kann hier heruntergeladen werden.

 

- English Version -

 

Jason Langridge points out, that an executive guide on Windows Mobile for Technical Decision Makers has been released. It outlines, why Windows Mobile is a great platform for Organisations to deploy.

The Executive Guide is available in PDF format here.

Friday, July 25, 2008 6:17:59 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   Windows Mobile  |  Trackback

Alex Feinman wies mich gestern darauf hin, dass es anscheinend beim Erstellen von CAB Dateien mit lokalisierten Ressourcen unter Visual Studio 2008 zu einem Fehler kommt. Dies konnte ich selbst nachstellen.

Eine Variante zur Reproduktion:

1. Erstellen einer Geräteanwendung als C# oder VB.NET project
2. Hinzufügen einer neuen Ressource "Resource.en-US.resx"
3. Hinzufügen einer neuen Ressource "Resource.zh-TW.resx"
4. Hinzufügen einiger Strings zu den Ressource-Dateien
5. Erstellen des Projektes. Beachten Sie dabei, dass die entspr. erstellten Ressource-Dateien in den Unterordnern en-US and zh-TW abgelegt werden-
6. Hinzufügen eines CAB-Projektes für intelligente Geräte zur Projektmappe.
7. Hinzufügen der Projektausgabe/Primäre Ausgabe
8. Hinzufügen der Projektausgabe/Lokalisierte Ressourcen
9. Erstellen der CAB Datei. Installieren auf einem mobilen Gerät, wonach die installierten Resource-DLLs vom Zielverzeichnis des Gerätes auf die Desktop Machine kopiert werden.
10. Analysieren der DLLs mit ILDASM auf die MANIFEST/.locale. Alternativ: Reflector

Ergebnis:

Beide Ressource-DLLs sind identisch. Im konkreten Fall sind beide Dateien die der Sprache zh-TW.

Durch weitere Recherche stellte sich heraus, dass es sich hierbei um einen bereits bekannten Bug im CAB Wizard handelt. Somit geschieht dieser Fehler bei der manuellen Erstellung einer CAB Datei, als auch im Visual Studio.

 

Ilya Tumanov beschreibt hier hierzu einen Workaround:

...

Here's a workaround:

1. In main project which produces resource files run a post build procedure
which would create copies of these files with unique name.

For example, "fr\CONVENO Sales.resources.dll" would be copied to
fr\fr_CONVENO Sales.resources.dll

2. In your CAB project add files with unique names instead of originals.

3. Select these files one by one, choose "Rename" in context menu and type
original name.

Here's sample INF. Note files are unique now, but original names would be
restored on device.

Also note I've added files to "Application folder" so %InstallDir% macro is
actually used.

This macro can be redirected to storage card upon installation.

[Version]
Signature="$Windows NT$"
Provider="Microsoft"
CESignature="$Windows CE$"

[CEStrings]
AppName="PPC_CAB_1"
InstallDir=%CE1%\%AppName%

[Strings]
Manufacturer="Microsoft"

[CEDevice]
VersionMin=4.0
VersionMax=5.99
BuildMax=0xE0000000

[DefaultInstall]
CEShortcuts=Shortcuts
AddReg=RegKeys
CopyFiles=Files.Common1,Files.Common2,Files.Common3

[SourceDisksNames]
1=,"Common1",,"C:\Projects\LVTest\LVTest\bin\Debug\Fr\"
2=,"Common2",,"C:\Projects\LVTest\LVTest\bin\Debug\"
3=,"Common3",,"C:\Projects\LVTest\LVTest\bin\Debug\Gr\"

[SourceDisksFiles]
"fr_test.txt"=1
"LVTest.exe"=2
"gr_test.txt"=3

[DestinationDirs]
Shortcuts=0,%CE2%\Start Menu
Files.Common1=0,"%InstallDir%\Fr"
Files.Common2=0,"%InstallDir%"
Files.Common3=0,"%InstallDir%\Gr"

[Files.Common1]
"test.txt","fr_test.txt",,0

[Files.Common2]
"LVTest.exe","LVTest.exe",,0

[Files.Common3]
"test.txt","gr_test.txt",,0

[Shortcuts]

[RegKeys]

--
Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

...

 

Andere Alternative: WinCE CAB Manager von ocpSoftware.

 

Angeblich ist dieser Bug schon länger bekannt, doch ein Fix ist seitens MS nicht in Sicht.

 

Danke Alex und Ilya, für die Information.

 

- English Version -

 

Alex Feinman informend me, that on creating CAB files including localized ressources under Visual Studio 2008 it can come to an error. I've been able to reproduce this behaviour.

One way of Reproduction:

1. Create a Form-based SmartDevice C# or VB.NET project
2. Add a new resource called Resource.en-US.resx
3. Add a new resource called Resource.zh-TW.resx
4. Add some strings to the resource files
5. Build the project. Observe that the resource DLLs are correctly
generated and placed into subdirectories en-US and zh-TW
6. Add a SmartCab deployment project to the solution.
7. Add Project Output/Primary Output
8. Add project Output/Localized Resource Assemblies
9. Build the cab file. Install it on the device and copy the resource
DLLs from the device install directory to the desktop machine.
10. Examine the DLLs with ILDASM tool checking MANIFEST/.locale. Or use Reflector.

Result:

Both resource DLLs are identical. In this case both are from the language zh-TW.

Trough further investigation it turned out, that this is a well known bug within the CAB Wizard. Therefore this bug affect manual building CAB files as well as building them from inside Visual Studio.

 

Ilya Tumanov describes here a Workaround:

...

Here's a workaround:

1. In main project which produces resource files run a post build procedure
which would create copies of these files with unique name.

For example, "fr\CONVENO Sales.resources.dll" would be copied to
fr\fr_CONVENO Sales.resources.dll

2. In your CAB project add files with unique names instead of originals.

3. Select these files one by one, choose "Rename" in context menu and type
original name.

Here's sample INF. Note files are unique now, but original names would be
restored on device.

Also note I've added files to "Application folder" so %InstallDir% macro is
actually used.

This macro can be redirected to storage card upon installation.

[Version]
Signature="$Windows NT$"
Provider="Microsoft"
CESignature="$Windows CE$"

[CEStrings]
AppName="PPC_CAB_1"
InstallDir=%CE1%\%AppName%

[Strings]
Manufacturer="Microsoft"

[CEDevice]
VersionMin=4.0
VersionMax=5.99
BuildMax=0xE0000000

[DefaultInstall]
CEShortcuts=Shortcuts
AddReg=RegKeys
CopyFiles=Files.Common1,Files.Common2,Files.Common3

[SourceDisksNames]
1=,"Common1",,"C:\Projects\LVTest\LVTest\bin\Debug\Fr\"
2=,"Common2",,"C:\Projects\LVTest\LVTest\bin\Debug\"
3=,"Common3",,"C:\Projects\LVTest\LVTest\bin\Debug\Gr\"

[SourceDisksFiles]
"fr_test.txt"=1
"LVTest.exe"=2
"gr_test.txt"=3

[DestinationDirs]
Shortcuts=0,%CE2%\Start Menu
Files.Common1=0,"%InstallDir%\Fr"
Files.Common2=0,"%InstallDir%"
Files.Common3=0,"%InstallDir%\Gr"

[Files.Common1]
"test.txt","fr_test.txt",,0

[Files.Common2]
"LVTest.exe","LVTest.exe",,0

[Files.Common3]
"test.txt","gr_test.txt",,0

[Shortcuts]

[RegKeys]

--
Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

...

 

Alternative: WinCE CAB Manager von ocpSoftware.

 

This bug is said to be known for a longer period of time but no fix from MS it to be seen on this.

 

Thanks Alex and Ilya for this information.

Friday, July 25, 2008 6:05:52 AM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   mobile Tools | Visual Studio  |  Trackback
 Thursday, July 24, 2008

Der RSS Feed dieser Seite kann nun auch über http://feeds.feedburner.com/PeterNowak. Bitte verwenden Sie diese URL ab jetzt nach Möglichkeit bitte primär.

- English Version -

The RSS Feed of this site has been changed to http://feeds.feedburner.com/PeterNowak. Please use this URL primarily, if possible.

Thursday, July 24, 2008 9:29:23 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   Off Topic  |  Trackback

Wer einige weitere und detaillierte Informationen zu meinem Artikel "Warum haben die nicht...?" / "Why didn't they...?" haben möchte, dem empfehle ich auf jeden Fall den englischsprachigen Artikel The Windows Mobile Ecosystem for Developers im The Windows Mobile RSS (Reed and Steve Stuff) Feed zu lesen. Hier erfährt man hintergründiges vieles, was selbst ich noch nicht wusste.

- English Version -

Who wants to get more detailed according to my article "Warum haben die nicht...?" / "Why didn't they...?", should read definitly the english article The Windows Mobile Ecosystem for Developers on the The Windows Mobile RSS (Reed and Steve Stuff) Feed blog. Here you get additional background information, which I didn't even know yet.

Thursday, July 24, 2008 8:27:58 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | Geräte | Windows Mobile  |  Trackback

Torsten und ich haben bei XING eine Gruppe zum Thema Mobile Development gegründet. In der Gruppe werden wir u. a. Termine redaktionell betreut aufnehmen. Es ist dabei egal, ob diese zum .NET Compact Framework, Android oder z. B. Palm sind oder nicht, solange sie unter dem Begriff Softwareentwicklung verstanden werden können. Wer bei XING ist und sich bei Mobile Computing besonders für den Bereich Softwareentwicklung interessiert, verpasst so wahrscheinlich keinen möglichen Termin mehr.

Die Gruppe kann hier aufgerufen werden: http://www.xing.com/net/mobiledevelopment.

Die Roadmap:
Roadmap für die Mobile Development-Gruppe bei XING

Die Beschreibung: Die Mobile Development-Gruppe bei XING ist ein unabhängiger Zusammenschluss von Hobby- und professionellen Entwicklern, Projektleitern und Beratern, die sich für Themengebiete rund um die Softwareentwicklung für mobile Geräte interessieren. Dazu gehören nicht nur das .NET Compact Framework oder Windows Mobile, sondern alle gängigen Plattformen wie zum Beispiel Android, Palm oder Windows CE. Ziel dieser Gruppe ist das Networking untereinander und der Wissensaustausch. Ein Beispiel ist die Aggregation von Terminen an dieser Stelle; ein anderes Beispiel die Organisation eines Mobile Bar Camps. Die Gruppe ist dabei ausdrücklich auf die Softwareentwicklung beschränkt, die unter anderem auch Web 2.0 einschließt. Die Etablierung von Geschäftsmodellen, Marketing, Support usw. im Bereich Mobile Computing gehört abgrenzend nicht dazu.

Mobile Development Gruppe bei XING

 

- English Version -

Torsten and I have set up a new group on Mobile Development on XING. In this group we will add f.e. editorially checked appointments. In this group it doesn't matter if the topics regard the.NET Compact Framework, Android  or f.e. Palm as long as they relate to the term software development. Whoever is already on XING and is interested especially development regarding, won't probably miss any upcoming event or appointment.

The group can be foun here: http://www.xing.com/net/mobiledevelopment.

The Roadmap:
Roadmap für die Mobile Development-Gruppe bei XING

The description: The Mobile Development-Gruppe on XING is an independent consolidation of hobby and professional developers, project managers and consultants, who are interested into topics around development for mobile devices. It is not all about the .NET Compact Framework and Windows Mobile, but as well about other common platforms like Android, Palm or Windows CE. The objective of this group is networking and exchange in knowledge. A sample for this is the aggregation of Appointments at this place; anothe sample is the organization of a Mobile Bar Campus. This group is explicitly limited on software development, which includes Web 2.0 as well. The establishment of success models, marketing, support etc. regarding Mobile Computing are explicitly not enclosed.

 

(Note to myself: Translate german graphics to english as soon as possible. Probably Torsten can help here out. ;-) UPDATE: Thanks Torsten for the first part. Now the next graphic please ;-) )

Thursday, July 24, 2008 7:58:33 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | Windows Mobile  |  Trackback

Als günstige Alternative zur Positionsbestimmung lässt sich anstatt GPS die Position auch mittels Triangulation der Mobilfunkmasten bestimmen. Hierfür benötigt man u.a. die CellID - also die eindeutige Kennung des Mubilfunkmastes.

Dale Lane zeigt in seinem Blog, wie sich man diese Information programmatisch aus seiner verwalteten Anwendung via P/Invoke abfragen kann. Hierzu verwendet er als Schnittstelle den Radio Interface Layer (RIL). Offiziell wird die RIL jedoch nicht von Windows Mobile unterstützt, weswegen man mit der API vorsichtig umgehen sollte.

 

- English Version -

 

As a cheap alternative for retrieving your position, you can use instead of GPS a triangulation of your cell towers. Therefore you need the CellID - a unique identifier of the cell tower.

Dale Lane shows in his blog, how to request this info programatically from your managed application via P/Invoke. Therefore he uses the interface to the Radio Interface Layer (RIL). Officially RIL isn't supported by Windows Mobile, so you should be very carefull working with this API.

Thursday, July 24, 2008 4:46:08 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   .NET Compact Framework | P/Invoke | Windows Mobile  |  Trackback
 Tuesday, July 15, 2008

 

Nach langer Abstinenz freue ich mich Ihnen mitteilen zu können, dass ich dieses Jahr wieder an der BASTA! teilnehmen werde, jedoch leider ohne einen Vortrag zum Thema Mobility.

Zusammen mit meinem guten Freund und Kollegen Simon Hackfort halten wir stattdessen ein nicht minder spannenden Vortrag zum Thema:

iTextSharp - PDF Generierung mittels .NET

Wer ein wenig über diesen Titel nachdenkt, wird auch hier einen Nutzen im Mobility Bereich feststellen. ;-)

Wann: 23.September 2008 um 15:15 Uhr

Abstract: Finalisierte Dokumente lassen sich nach wie vor am Einfachsten im PDF Format zur Verfügung stellen. Wie dies mit Hilfe der freien iTextSharp-Bibliothek realisiert werden kann, und welche Funktionen Ihnen hierzu zur Verfügung stehen, erfahren Sie in dieser Session.

Vor Ort werden Simon und ich vom 23.09. bis 25.09. sein. Wir freuen uns jetzt schon auf interessante Gespräche zwischen den Sessions, insbesondere sehr gerne über den Bereich Mobility.

Da gerade Mobility mein Hauptthema ist, verweise ich Sie gerne auf den .NET Mobile Day, welcher Teil der BASTA! sein wird. Nähere Informationen hierzu erhalten Sie hier von Torsten selbst.

Die BASTA! 2008 selbst findet vom 22. - 26. September in der Rheingoldhalle in Mainz statt. Alle weiteren Informationen zur Veranstaltung finden Sie hier.

 

- English Version -

 

For a few years I haven't made it to the BASTA! Conference. This year I'm glad to announce that I'm part of it again, unfortunatly without a session on Mobility.

My good friend and colleague  Simon Hackfort will present a session, which won't be less interesting:

iTextSharp - Generating PDF documents via .NET

Whoever thinks a second about that topic will discover probably a relation to Mobility as well. ;-)

When: September 23rd 2008 at 3:15 PM

Simon und I will be there from September 23rd to 25th. We are already excited about all the interesting talks we will have between the sessions, especially on Mobile topics.

As Mobility is my main topic I'd like to refer to the .NET Mobile Day, which will be part of the BASTA!. Further information on this can be found from Torsten here .

BASTA! 2008 will take place from September 22nd to 26th in the "Rheingoldhalle" in Mainz. Additional information about ths event can be found here.

 

Tuesday, July 15, 2008 2:40:32 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   Veranstaltung  |  Trackback
 Wednesday, June 25, 2008

Torsten hat es bereits verkündet und gibt ein paar Informationen, wieso das letzte Buch nichts wurde und wie es weitergeht...

Lest es hier selbst.

- English Version -

Torsten already has announced the following book and gives a few infos, why the last one didn't happen and how it will go on...

Read on here.

 

Wednesday, June 25, 2008 6:25:37 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [0]   Buch  |  Trackback
Copyright © 2008 Peter Nowak. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.