|
From: David E. <tw...@us...> - 2003-08-11 08:30:48
|
Hello, After the release of SynCE 0.8 I have been working on some code to make it easier to install Windows CE software found on the net. The plan is to automate the steps described below: For example, say that you download Acrobat Reader for Pocket PC: http://www.adobe.com/products/acrobat/readerforppc.html If you download the Pocket PC 2002 version, you get the file acrobatreader-ppc2002.exe. Oh, great, a Microsoft Windows executable. Somewhere inside there is a file with suffix ".cab" that can be installed on the Pocket PC device. The self-extracting executable could for example be using ZIP or RAR compression, but in this case it is a self-extracting Microsoft CAB file and we can use the cabextract tool (http://www.kyz.uklinux.net/cabextract.php): $ cabextract acrobatreader-ppc2002.exe Extracting cabinet: acrobatreader-ppc2002.exe extracting: \DATA.TAG extracting: \data1.cab extracting: \data1.hdr extracting: \lang.dat extracting: \layout.bin extracting: \os.dat extracting: \Setup.bmp extracting: \Setup.exe extracting: \SETUP.INI extracting: \setup.ins extracting: \setup.lid extracting: \_INST32I.EX_ extracting: \_ISDel.exe extracting: \_Setup.dll extracting: \_sys1.cab extracting: \_sys1.hdr extracting: \_user1.cab extracting: \_user1.hdr Finished processing cabinet. Well, what do we have here... oh, it is an InstallShield installer. More Microsoft Windows executables. But hey, there are CAB files here! Let's try cabextract again: $ cabextract data1.cab Extracting cabinet: data1.cab data1.cab: not a Microsoft cabinet file. So it is an InstallShield cabinet file. Some searching on the Internet may reveal that therare are a couple of tools named "i5comp" and "i6comp" that can be used to extract files from InstallShield cabinet files, but those tools also requires Microsoft Windows or WINE to work... To make this story a little shorter, the source code to those tools are available and by reading that code I have been able to make a tool without dependencies to Microsoft Windows. This tool is called "unshield" and is in a very early stage at the moment, but it only needs an improved command line interface to be truly useful. See this page for more information: http://synce.sourceforge.net/synce/unshield.php Here is an abbreviated version of the output from this tool: $ unshield data1.cab .. Writing arceARMr.PPC_2577.cab...success. .. We can now use the synce-install-cab tool to install arceARMr.PPC_2577.cab on our Pocket PC 2002 device. If you read this far you know how tedious this was, and that I had failed completely without the new unshield tool. Therefore I will try to make a tool that automates this procedure as much as possible. In case there are any special programs that you would like to be able to install, please tell me! Regards, \David |