Intended audience: Developers
WRT to packaging APIs
See requirements, api and packaging for thoughts on packaging device APIs.
How to install WebVM?
This document provides all essential information about how to install WebVM at this early stage on different platforms.
Linux
- See debian
Windows
In order to build WebVM in Visual Studio 2005 you need to setup a couple of system environment variables:
- GECKOSDKDIR needs to point to the
xulrunner-sdk\sdk\includedirectory - JDKDIR needs to point to the
jdk\includedirectory - WEBVMHOME needs to point to the directory of the webvm project, usually
trunk\webvm - WEBVMPLUGINSDIR needs to point to the plugins directory of the browser you want to use, usually
C:\Program Files\Mozilla Firefox\Plugins - PATH should at least include the directory where jvm.dll of the JDK is located.
Once you set up those variables you can launch Visual Studio and open the %WEBVMHOME%\npapi\npapi.sln
solution file to and compile WebVM.
Afterwards you might want to edit the %WEBVMHOME%\conf\webvm.win32.conf file to fit your system.
Notes on native module install
WebVM aims to dynamically load modules. Though there are some user experience issues to note.
There are two ways to install a native module. In this context we are dealing with Windows Mobile.
Both ways require some sort of signing / delivery platform.
CAB redirect
- Webpage references http://api.webvm.net/native/module
- WebVM redirects user to http://update.webvm.net?module={ [ module: “foo”, version: “0.2:, vendor: “Aplix” ], [ anothermodule…. }
- http://update.webvm.net queries the module and provides download link
- User downloads the CAB (could have more than one module) and installs the module (in one step)
- User somehow navigates back to the initial Web page
Transparently install and run module
- Webpage references http://api.webvm.net/native/module
- WebVM downloads the module transparently …
- WinMo prompts the user to execute new library in awkward prompt (remote possibility of getting this signed by an OEM)
- User accepts and page finishes loading ..
There are several disadvantages to this approach:
- Can you really download transparently?
- The prompt to run a binary on Windows Mobile is very clumsy