Instalacja aplikacji z karty SD w Windows Phone 8
24.12.2012 12:14
Windows Phone 8, pomiędzy różnymi innymi nowościami, wprowadził w miarę rozsądnie dla użytkownika rozwiązaną obsługę kart SD. Jego poprzednik potrafił co prawda z karty SD skorzystać, ale co najwyżej jako jedynego medium przechowywania danych i jeszcze w sposób, aby nikt inny do tej karty nie miał już dostępu.
Wśród opcji związanych z kartami SD znalazła się opcja instalowania aplikacji z karty SD w urządzeniu. Jak to działa w praktyce?
Od pewnego czasu na webowej wersji Sklepu istnieje możliwość pobrania ręcznie pliku XAP. W plikach XAP, będącymi - jak wiele rzeczy obecnie - zwykłymi paczkami ZIP (czy aby na pewno?) i przy okazji będącymi duchowymi spadkobiercami Silverlighta, dystrybuowane jest oprogramowanie dla platformy Windows Phone.
Opcja "pobierz i zainstaluj ręcznie" dostępna przy aplikacjach w webowej wersji Sklepu, pobiera nam na dysk paczkę XAP. Tę następnie możemy umieścić na karcie SD naszego telefonu przez jego podłączenie do komputera, czy przez podłączenie samej karty do czytnika kart w komputerze.
Ja pobrałem jedną z aplikacji ze Sklepu (Expensify), oraz gratis postanowiłem zrobić eksperyment - a co będzie, jeśli wezmę paczkę mojego autorstwa? Wykorzystałem do tego celu "Eudore", który jest programem umieszczonym w Sklepie, ale ta konkretna paczka to jest moja kompilacja, która była wysłana do certyfikacji, nie paczka pobrana ze strony.
Po umieszczeniu plików na karcie SD i po odczekaniu pewnego czasu (wedle pomocy Microsoftu "kilku minut") nic się nie stało. Okazało się, że wyraźnie pomógł restart telefonu, bo od razu w aplikacji Store pojawiła się nowa opcja - SD card.
A co w niej? W niej znalazła się moja wrzucona aplikacja pobrana ze Sklepu i możliwość jej zainstalowania. A co z drugą paczką?
Okazuje się, że proces nie jest tak prosty, jak by się mogło wydawać - każda wrzucona aplikacja jest weryfikowana z serwerem Microsoftu. Jeśli jest to aplikacja darmowa to zostanie bez problemu zainstalowana. W przypadku aplikacji płatnej zostanie zainstalowana wersja "trial", jeśli istnieje, a jeśli nie - instalacja zostanie przerwana. Upgrade do wersji płatnej już jest realizowany normalnie przez kupienie w sklepie. A jeśli aplikacji w Sklepie nie ma - nawet nie pojawi się na liście.
Moja aplikacja jednak jest dokładnie identyczna jak ta, która znajduje się w Sklepie - dlaczego nie zadziałało? Nie jest tak prosto - aplikacje wydawane na platformę Windows Phone są ponownie przepakowywane przez system certyfikacji (ustawiając m.in. poprawne wymagania dla aplikacji) oraz przede wszystkim - są cyfrowo podpisywane kluczem producenta systemu. Niemożliwe jest zainstalowanie aplikacji niepodpisanej cyfrowo. Czyli czysty "trusted computing", to samo, co obserwujemy w przypadku choćby Windows RT.
Ostatnia kwestia - jaki to ma sens? Muszę przyznać - nie mam pojęcia. I tak wymagane jest połączenie internetowe, o jednak zdecydowanie mniejszej przepustowości - więc może to jest potrzebne w krajach rozwijających się? Możliwe jest również wgranie pakietu wielu aplikacji i ich masowe zainstalowanie, co ma może sens w przypadku przedsiębiorstw, zwłaszcza jeśli aplikacje są dostępne tylko w prywatnej części Sklepu.
Jak dotąd wykorzystałem tę metodę do jednej rzeczy, w której się sprawdziła - pobrałem plik XAP pewnej aplikacji niedostępnej w moim regionie, zainstalowałem ją na telefonie wyżej opisaną metodą. Działa, pojawiła się również w liście moich zakupów, bez kombinowania ze zmianą regionu (za to z kombinowaniem w ten sposób).
Wspomniałem wcześniej, że XAP to ZIP ze zmienionym rozszerzeniem. Otóż w przypadku pobranych ze sklepu paczek to nie jest prawda - paczki te oprócz cyfrowego podpisu są również szyfrowane, przez co niemożliwe jest pobranie sobie ze strony paczki i wykonanie np. inżynierii wstecznej.