Re: Creating an installation that supports multiple platforms

r_z_aret_at_pen_fact.com
Date: 01/10/05


Date: Mon, 10 Jan 2005 15:43:32 -0500

On Sun, 9 Jan 2005 22:19:01 -0800, "Darren Bennett" <darren@work.com>
wrote:

>Hi There,
>
>I'm trying to create a single INF file to use with CABWIZ that will allow me
>to create and install our application on the Pocket PC 2002, Windows Mobile
>2003 and Windows Mobile 2003 Second Edition platforms.
>
>Our application has different binaries that need to be installed for the
>different versions of the operating system. When using our INF file with
>CABWIZ I get three CAB's each with the correct data inside. The INF file
>follows:
>
>=====================================================
>;
>; "MyApplication" CabWiz INF file
>;
>
>; This INF file is used as the input file for "Cabwiz.exe" application and
>will
>; create cabinet files for the following devices:
>;
>; - Pocket PC 2002 ARM CPU
>; - Pocket PC 2003 ARM CPU
>
>; - Pocket PC 2003 Second Edition ARM CPU
>
>;
>
>;
>; Required "Version" section
>; Contains INF version information
>;
>[Version]
>Signature = "$Windows NT$" ; Required as-is
>Provider = "My Company" ; Company name
>CESignature = "$Windows CE$" ; Required as-is
>
>;
>; Required "CEStrings" section
>; Specific strings used by Windows CE AppInstall
>;
>[CEStrings]
>AppName = "My Application" ; Application name
>InstallDir = %CE1%\%AppName% ; Default install directory is "\Program
>Files\My Application"
>
>
>;
>; Optional "Strings" section containing string substitutions replacing the
>key string (enclosed with percent symbols)
>; with the value string. For this installation it will store
>language-dependent strings.
>;
>[Strings]
>ShortcutName = "My Application"
>
>;
>; Required "CEDevice" section
>; Specifies the various types of CAB files that will be generated
>;
>[CEDevice]
>UnsupportedPlatforms = "HPC","Jupiter","Palm PC","Palm PC2","HPC Pro"
>
>[CEDevice.PPC2002_ARM]
>ProcessorType = 2577 ; ARM CPU
>VersionMin = 3.00
>VersionMax = 3.00
>
>[CEDevice.PPC2003_ARM]
>ProcessorType = 2577 ; ARM CPU
>VersionMin = 4.20
>VersionMax = 4.20
>
>[CEDevice.PPC2003SE_ARM]
>ProcessorType = 2577 ; ARM CPU
>VersionMin = 4.21
>VersionMax = 4.21
>
>;
>; Required "SourceDisksNames" section specifies the source directories of
>the application files.
>;
>; Format:
>; <source ID> = ,<label>,,<source directory>
>; Where:
>; <source ID> will be used to specify the source files belonging to
>this directory
>; <label> is unused
>; <source directory> is the relative or absolute directory of the
>source files
>;
>[SourceDisksNames] ; Deveice CPU-independent files
>1 = ,"Independent Files",,Files ; Files are in the relative path "Files"
>
>[SourceDisksNames.PPC2002_ARM] ; ARM-specific files for Pocket PC 2002
>2 = ,"PPC2002 ARM Files",,Files\PPC2002\ARM ; Files are in the relative path
>"Files\PPC2002\ARM"
>
>[SourceDisksNames.PPC2003_ARM] ; ARM-specific files for Pocket PC 2003
>2 = ,"PPC2003 ARM Files",,Files\PPC2003\ARM ; Files are in the relative path
>"Files\PPC2003\ARM"
>
>[SourceDisksNames.PPC2003SE_ARM] ; ARM-specific files for Pocket PC 2003
>Second Edition
>2 = ,"PPC2003SE ARM Files",,Files\PPC2003SE\ARM ; Files are in the relative
>path "Files\PPC2003SE\ARM"
>
>;
>; Required "SourceDisksFiles" section specifies the source filenames that will
>; be packaged in the CAB files.
>;
>; Format:
>; <filename> = <source ID>
>
>
>; Where:
>
>
>; <filename> is the source filename (enclose in doublequotes for long
>filenames)
>; <source ID> is the ID used in [SourceDisksNames] to specify the
>source directory
>;
>[SourceDisksFiles] ; CPU-independent files
>"MyApplication.htm" = 1 ; My Application help file
>
>
>"DataFile1.xml" = 1 ; Sample Application Data
>
>"DataFile2.xml" = 1 ; Sample Application Data
>
>
>[SourceDisksFiles.PPC2002_ARM]
>"MyApplication.exe" = 2 ; MyApplication executable
>
>
>"MyApplication.dll" = 2 ; MyApplication language resource DLL
>
>
>[SourceDisksFiles.PPC2003_ARM]
>"MyApplication.exe" = 2 ; MyApplication executable
>
>
>"MyApplication.dll" = 2 ; MyApplication language resource DLL
>
>
>[SourceDisksFiles.PPC2003SE_ARM]
>"MyApplication.exe" = 2 ; MyApplication executable
>
>
>"MyApplication.dll" = 2 ; MyApplication language resource DLL
>
>
>;
>; Required sections specified in "[DefaultInstall] CopyFiles" key specifies
>the files to copy
>; Format:
>; <dest filename>,<source filename>,,<copy flags>
>
>
>;
>
>; Where:
>
>; <dest filename> is the destination filename (or the source filename
>if <source filename> is empty)
>; <source filename> is the source filename
>; <copy flags> is the copy flags to use
>;
>[Files.Windows]
>"MyApplication.htm"
>
>[Files.PPC2002_ARM]
>"MyApplication.exe"
>"MyApplication.dll"
>"DataFile1.xml",,,16 ; Don't overwrite if the file already exists
>"DataFile2.xml",,,16 ; Don't overwrite if the file already exists
>
>[Files.PPC2003_ARM]
>"MyApplication.exe"
>"MyApplication.dll"
>"DataFile1.xml",,,16 ; Don't overwrite if the file already exists
>"DataFile2.xml",,,16 ; Don't overwrite if the file already exists
>
>[Files.PPC2003SE_ARM]
>"MyApplication.exe"
>"MyApplication.dll"
>"DataFile1.xml",,,16 ; Don't overwrite if the file already exists
>"DataFile2.xml",,,16 ; Don't overwrite if the file already exists
>
>;
>; Required "DefaultInstall" section specifies the INF sections for file
>copying,
>; registry settings and creating shortcuts.
>;
>; INF sections that are not listed here will not be used
>;
>[DefaultInstall]
>CopyFiles = Files.Windows ; Required INF sections that lists the files
>to be copied
>CEShortcuts = Link.App,Link.Help ; Optional INF sections that lists the
>shortcuts to be created
>AddReg = RegData ; Required INF sections that lists the registry
>entries to be created
>
>[DefaultInstall.PPC2002_ARM]
>CopyFiles = Files.PPC2002_ARM ; Required INF sections that lists the files
>to be copied
>
>[DefaultInstall.PPC2003_ARM]
>CopyFiles = Files.PPC2003_ARM ; Required INF sections that lists the files
>to be copied
>
>[DefaultInstall.PPC2003SE_ARM]
>CopyFiles = Files.PPC2003SE_ARM ; Required INF sections that lists the
>files to be copied
>
>;
>; Required "DestinationDirs" section specifies the directories to use for
>the file copy lists.
>;
>; Format:
>; <section name> = 0,<dest directory>
>
>
>; Where:
>
>; <section name> is the section name used in "[DefaultInstall] CopyFiles"
>; <dest directory> is the destination directory, using an absolute
>device path, the directory macros, or the install directory %InstallDir%
>;
>[DestinationDirs]
>Files.Windows = 0,%CE2% ; "\Windows" directory
>Files.PPC2002_ARM = 0,%InstallDir% ; "\Program Files\My Application"
>directory (%CE1%\%AppName%).
>Files.PPC2003_ARM = 0,%InstallDir% ; "\Program Files\My Application"
>directory (%CE1%\%AppName%).
>Files.PPC2003SE_ARM = 0,%InstallDir% ; "\Program Files\My Application"
>directory (%CE1%\%AppName%).
>DefaultDestDir = 0,%InstallDir% ; "\Program Files\My Application"
>directory (%CE1%\%AppName%).
>Link.App = 0,%CE11% ; "\Windows\Start Menu\Programs" directory
>Link.Help = 0,%CE2%\Help ; "\Windows\Help" directory
>
>;
>; Required sections specified in "[DefaultInstall] AddReg" key specifies the
>registry entries to create.
>;
>; Format:
>; <reg root>,<reg key>,<reg val>,<reg flags>,<reg data>[,<reg data>]
>; Where:
>; <reg root> is HKCR, HKLM or HKCU
>; <reg key> is the registry key name
>; <reg val> is the registry value name, which is set to "default" if
>empty
>; <reg flags> is the registry type/flags to use
>; <reg data> is the numeric/string registry data, which depends on the
><reg flags> used
>;
>;[RegData]
>
>
>;
>; Sections specified in "[DefaultInstall] CEShortcuts" key specifies the
>shortcuts to create.
>;
>; Format:
>; <shortcut filename>,<shortcut type>,<target file/path>[,<standard dest
>path>]
>; Where:
>; <shortcut filename> is the filename of the shortcut
>; <shortcut type> specifies if the shortcut is to a file or a folder
>; <target file/path> is the target filename or pathname, which depends
>on the <shortcut type> flag used
>; <standard dest path> is an optional destination directory macro (or
>%InstallDir%) to use
>;
>[Link.App]
>%ShortcutName%,0,"MyApplication.exe"
>
>[Link.Help]
>%ShortcutName%,0,"MyApplication.htm"
>
>=====================================================
>
>I also have a INI file that I registers the cabinets with the CEAppMgr which
>is listed below:
>
>=====================================================
>;
>; "My Application" CEAppMgr INI file.
>;
>; This INI file is used as the input file for "CEAppMgr.exe" and will
>; install the CAB files created from the CabWiz INF file
>.
>
>;
>
>;
>; CEAppMgr INI version (not the application's version
>)
>;
>;
>[CEAppManager]
>Version = 1.0
>Component = MyApplication
>
>;
>; Specifies info used by CEAppMgr including the list of CAB files.
>;
>[MyApplication]
>Description = My Application
>IconFile = MyApplication.ico
>IconIndex = 0
>DeviceFile = MyApplication.exe
>CabFiles = MyApplication.PPC2002_ARM.CAB
>,MyApplication.PPC2003_ARM.CAB
>,MyApplication.PPC2003SE_ARM.CAB
>
>=====================================================
>
>My problem is that regardless of which Windows CE device I connect to my PC
>the Pocket PC 2002 binaries are always being installed onto the device.
>
>Any help fixing this problem would be greatly appreciated.

The Unsupported Devices phrase(?) used to cover such things. I haven't
tried to use it for a while, so I don't know the appropriate names for
the Pocket PC and Smartphone platforms. If you're lucky, you'll find
them and can use them to fine tune.

Otherwise, I _think_ you can use version numbers to distinguish.

>
>Thanks,
>
>- Darren -

-----------------------------------------
To reply to me, remove the underscores (_) from my email address (and please indicate which newsgroup and message).

Robert E. Zaret, eMVP
PenFact, Inc.
500 Harrison Ave., Suite 3R
Boston, MA 02118
www.penfact.com



Relevant Pages

  • Re: How to Add Database to Pocket PC during Installation Process
    ... Specify in the INF file for the CAB the name of the file (in the CopyFiles ... > Thank for Harry and Ken for guiding me the installation process of Pocket ... seem to be able to install with one cab file under my ini file. ...
    (microsoft.public.pocketpc.developer)
  • Creating an installation that supports multiple platforms
    ... I'm trying to create a single INF file to use with CABWIZ that will allow me ... to create and install our application on the Pocket PC 2002, ... Specifies the various types of CAB files that will be generated ... <dest filename> is the destination filename (or the source filename ...
    (microsoft.public.pocketpc.developer)
  • Re: Touch Screen - Gunze Driver not working on xp embedded
    ... I Add Repository and set the location to point to C:\touchscreen ... I open up TD, I add Gunze component to my build, I make a build ... Does XPE use setup.exe to install the component during boot up ?. ... May be there is something wrong with my inf file. ...
    (microsoft.public.windowsxp.embedded)
  • Re: Calling inf file or installing .sys file from DriverEntry func
    ... Actually the USB device has a cryptograpic functionlity and i need to create ... The task is to install the Smart card reader driver as well as USB ... I already provided sample .inf file in my previous reply. ...
    (microsoft.public.development.device.drivers)
  • Re: USB Printer Problem
    ... Any pointers on what registry data I ... >> as from your custom INF file import. ... >>> when I manualy install it using "Add Printer". ... >>>> printer driver files to appropriate windows directories. ...
    (microsoft.public.windowsxp.embedded)