Windows Phone Apps und Privilegien

Während der Entwicklung meines PhoneKit Frameworks und des Version 3.4 Updates von seeMENSA für Windows Phone 8 bin ich kürzlich auf ein paar Interessante Dinge gestoßen.  Eigentlich hatte ich das Update (ursprünglich sogar mit der Versionsnummer 3.1, also man sieht schon hier das das mehrere Anläufe und Nerven gekostet hat) schon seit mehreren Wochen fertig und auch schon im Windows Store freigegeben. Jedoch wurde mir nach dem ersten Download klar, dass mit der App irgend etwas nicht stimmt. Aber was? Bei der Entwicklung in Visual Studio 2013 lief doch alles glatt?

Nach langer Recherche und der Implementierung eines Error-Reporting-Systems in das Framework und somit auch in seeMENSA konnte ich diesem Fehler endlich auf die Spur kommen. Dazu war auch das Beta-App Feature des Windows Stores sehr hilfreich, denn wie schon angesprochen sind diese Probleme lokal in Visual Studio nicht aufgetreten. Mein Reporting-System meldete mir nun, dass ich beim Laden von dem Icon, welches ich in das LiveTile-Bild rendere, versuche einen FileStream zu öffnen, welchen ich dann dem BitmapImage als Datenquelle setze. Dies ist jedoch nur bei der Installation über Visual Studio möglich, wirft jedoch bei der Installation über den Windows Store eine UnauthorizedAccessException. Damit dieser Fehler nun nicht mehr auftritt, lade ich die Icons nun über einen ResourceStream:

Uri uri = new Uri("/SeeMensa.Common;component/" + iconPath, UriKind.Relative);
StreamResourceInfo resourceInfo = Application.GetResourceStream(uri);
BitmapImage bmp = new BitmapImage();
bmp.SetSource(resourceInfo.Stream);
Icon.Source = bmp;

Anzumerken ist hierbei noch, dass das Icon dann mit dem Buildvorgang “Resource” konfiguriert wird, da sonst das Icon nicht in die Ressource der DLL eingebettet wird.


Auch beim stöbern durch diverse Foren habe ich viele Posts gelesen, worin sich Entwickler über ein unterschiedliches Verhalten ihrer Apps beklagt haben, wenn man diese über den Windows Phone Store runterladet. Während man einige häufige Probleme und Lösungen auf dem MSDN Blog nachlesen kann, so glaube ich nun trotzdem, dass Apps, welche über Visual Studio installiert werden mit höheren Rechten betrieben werden als Apps, die im Windows Phone Store installiert wurden.


Hattet ihr auch schon mal ein ähnliches Problem?

Comments

Popular posts from this blog

Benchmarking Tensorflow Performance on eGPU

How to setup an eGPU on Ubuntu for TensorFlow

Setup Dell C1660W printer in Ubuntu