The ArcPad Team Blog

Unofficial stuff from the team behind the World's leading mobile GIS platform

Thursday, November 16, 2006

ArcPad works in Linux...

Here's a bit of a side step for ArcPad fans everywhere. I recently got ArcPad to run on Linux on my home computer. I have a dual boot laptop which runs Windows XP and SUSE 10. I've gotten to the point where I use Linux applications for just about everything at home, and have been booting up Windows less and less. The only exception WAS for ArcPad. To put this achievement into context, I am NOT a programming guru (I generally avoid the command line where ever possible), but with some words of encouragement from a colleague, and plenty of google searching, I did it, and you could too.

To run this Windows application in SUSE, I needed to install Wine. Wine is an open source implementation of the Windows API on top of X an Unix. There are specific versions of Wine for each Linux distribution,– you can find them at http://www.winehq.com/site/download

Firstly, I installed Wine as I would any other Linux application for my distribution. Although the Wine website claims that it does not require Windows,– this is not necessarily the case in regards to ArcPad. There are several windows system files that are required, hence the dual desktop scenario is recommended. For this “experiment”, I chose to make a copy of key windows folders and files to my Linux home directory. Linux attempts to open and edit system files, and I found permissions on the windows folders caused some errors. I created the following directories:

/home/username/wine/c/windows/profiles
/home/username/wine/c/windows/system32
/home/username/wine/c/ArcPad

and copied the corresponding windows folders and files into the first two, and the ArcPad installed files to the third. Not ALL of the files in the profiles and system 32 folders are actually required, ideally you would work through runtime errors one at a time and locate and copy the appropriate dll's. In my experiment described here, you could say that I chose the 'sledge hammer approach', copying everything!

Next, I opened the Wine configuration tool (typing “winecfg” in a terminal window).
  • On the “Drives” tab I ensured I had a drive mapping of C: /home/username/wine/c
  • On the “libraries” tab, I selected “msxml3” from the override drop down box and clicked “Add'. This all that needs to be changed in the configuration tool.
At the terminal, I changed the directory to /home/username/wine/c/ArcPad and typed “wine ArcPad.exe”.

I got a warning that the JScript engine is not supported on this system, I closed the message box and ArcPad worked fine. Note to self - stick to VBScript for now!

My next challenge is to get a GPS working in this environment, a little more complicated because of devices drivers, but am sure its possible. There are also other app's similar to wine that id like to try, and of course I also need to have a crack at running ArcPad Studio :) Would love to hear from any other enthusiasts that want to give it a go or have tried.

PLEASE NOTE: this is by no means a declaration that Linux is (or will be) an officially supported operating system for ArcPad.