如何安装和卸载应用程序到RaspberryPi2? 如何配置应用程序在RaspberryPi2开机后自动启动?
How to install your app into RaspberryPi2?
How to configure your app automatically start up after device booting?
Read this article, and you will find the answers. Follow me, let’s go!
1 First you need to prepare an app package
Open VS solution, and double click the Package.appxmanifest file
You can configure the application in several tabs, it seems that it’s necessary to set a splash screen image on Visual Assets tab (for me it should be 1240x600 pix)
From the Packaging tab, you can enter a friendly package name and display name. The version is set to 1.0.0 as default. The build number will auto grow with your creation times.
Save the file after you have made the necessary edits for your app.
Now let’s start to create an app package.
In Solution Explorer, choose one start up project, right-click and choose Store->Create App Packages.
In Create Your Packages wizard, choose No unless you want to upload the app to the windows store, then click Next.
In Select and Configuration package dialog,
Select Always in Generate app bundle listbox, select all three architecture configurations(x86,x64 and ARM), no matter choose debug or release.
Click Create to generate the appxbundle package.
See AppPackages
2 Use Web-based device management to install/uninstall app
Web-based device management
provides basic configuration and device management capabilities which allows you add/remove applications and review the real time performance of windows IoT Device. Also you can use it to make diagnosis on the device and catch some error logs.
Set up connection
Open the browser, and enter the IP address of Raspberrypi2 with :8080 in the end.
In the credentials dialog, use the default username and password: Administrator, [email protected] (if you haven’t changed the password yet)
Then you will see the device management Home screen.(May prompt you message to change password)
Install an app
In web-based device management page, Apps provides the install/uninstall functionality for Appx packages and bundles on your device.
Open the Appx screen, click Appx browse and find the .appxbundle file
Click certificate browse, find the .cer file
Add dependencies, one by one.
In Deploy section, click Go, it will show "Done!" well below after installing complete.
Then you can refresh the page and see your app installed in installed apps listbox.
Choose your app and click start, you will see your application on RaspberryPi2.
You can setup your app as default start up application after booting, just click Set Default, then you can reboot the device to validate if it works.
If you want to uninstall your app, just make sure your app is not running. (click X before the running app), and choose your app in installed apps, click uninstall.
References:
https://ms-iot.github.io/content/en-US/win10/tools/Webb.htm
https://msdn.microsoft.com/en-us/library/hh454036.aspx
An easy way to install application
The above is talking how to use web-based device management to install an app package. However, there is an easier way. You can just use VS to help install the app. Actually, once you configure the debug architecture and remote machine to deploy the packages, it has already installed the application into the remote device.
Let’s have a look. Make sure your app is removed from Raspberrypi2.
Choose ARM and Remote machine, input IP address and select none, click Deploy solution.
Open Web-based device management, you can see the application has been installed. Now you can configure it as default start up application if you want.
Note: For only deploying application into RaspberryPi2(ARM based), you can simply use VS to help you install the package, if you want to create an app for all devices, follow the web-based device management instruction.(step1 and 2)
后记:折腾了几天,终于移植了部分WPF代码到UWP上,虽然都是C#+xaml, 看起来似乎差不多,但是区别真的挺大,修改了好多地方,原来的程序用到了Mef,Module,region等等prism中的概念,而针对Universal windows app的prism.windows 以及prism.core 是不支持的,使用了prism.unity代替了原来的mef, (貌似Mef2支持UWP)其他的只得先copy了prism源代码,改了一部分,总算可以运行起最开始的界面了。说起原版WPF程序,其layout和workflow也是相当复杂的,都是可配置的,扩展了prism的region,哪天没有GBP约束了,我就把框架研究研究,发出来。