Javscript would provide a navigation menu here. HOME
CE DEVELOPED APPLICATIONS FOR INTERMEC IMCs
The Windows CE operating system (OS) uses a .cab <<"CABINET">> file to install an application on a Windows CE–based device. A .cab file is composed of multiple files that have been compressed into one file. Compressing multiple files into one file provides the following benefits:
All of the application's files are present.
You can prevent a partial installation.
You can install your application from several sources, such as a desktop computer or a Web site.
Use the CAB Wizard application (Cabwiz.exe) to generate a .cab file for your application.
Create an .inf file with Windows CE–specific modifications.
Optionally, create a Setup.dll file to provide custom control of the installation process.
Use the CAB Wizard to create the .cab file, using the .inf file, the Setup.dll file, and the device-specific application files as parameters.
An .inf file specifies information about an application for the CAB Wizard. The following table shows the sections of an .inf file.
| Section | Required | Describes | 
| Version | Yes | The application's creator and version | 
| CEStrings | Yes | String substitutions for application and directory names | 
| Strings | No | String definitions for one or more strings | 
| CEDevice | Yes | The device platform for which the application is targeted | 
| DefaultInstall | Yes | The default installation of the application | 
| SourceDiskNames | Yes | The name and path of the disk on which the application resides | 
| SourceDiskFiles | Yes | The name and path of the files in which the application resides | 
| DestinationDirs | Yes | The names and paths of the destination directories for the application on the target device | 
| CopyFiles | Yes | Default files to copy to the target device | 
| AddReg | No | Keys and values that the .cab file will add to the registry on the device | 
| CEShortCuts | No | Shortcuts that the installation application creates on the device | 
The [Version] section is required and specifies the creator of the file and other relevant information.
[Version]Signature = "signature_name""$Windows NT$"Provider = "INF_creator""Intermec Technologies Corporation"CESignature = "$Windows CE$""$Windows CE$"
signature_name
Must be "$Windows NT$" or "$Windows 95$".
<<Intermec must be NT, since CE is not available on WIN95>>
INF_creator
Company name of the application. For example:
Provider = "Microsoft"
The following code example shows a typical [Version] section.
[Version]
Signature 
                = "$Windows NT$"
Provider 
                = "Microsoft"
CESignature 
                = "$Windows CE$"
The [CEStrings] section is required and specifies string substitutions for the application name and the default installation directory.
[CEStrings]AppName =app_nameas required (e.g. Rp32)InstallDir =default_install_diras required (e.g. \storage_card\%AppName%)
app_name
Name of the application. Other instances of %AppName% in the .inf file will be replaced with this string value.
default_install_dir
Default installation directory on the device. Other instances of %InstallDir% in the .inf file will be replaced with this string value.
The following code example shows a typical [CEStrings] section.
[CEStrings]
AppName="Game 
                Pack"
InstallDir=%CE1%\%AppName%
The [Strings] section is optional and defines one or more string keys. A string key represents a string of printable characters.
[Strings]string_key=valueas required (none is o.k.)[string_key=value]
value
String consisting of letters, digits, or other printable characters. Enclose value in double quotation marks "" ""if the corresponding string key is used in an item that requires double quotation marks.
The following code example shows a typical [Strings] section.
[Strings]
reg_path 
                = Software\Microsoft\My Test App
The [CEDevice] section is required and describes the platform for which your application is targeted. All keys in this section are optional. If a key is nonexistent, Windows CE does not perform any checking. Windows CE also does not perform any checking if a key has no data. The exception is UnsupportedPlatforms; if this key exists but there is no data, the previous value is not overridden.
[CEDevice][ProcessorType =[processor_type]]i486 (or none is o.k.)[UnsupportedPlatforms =platform_family_name[,platform_family_name]](none is o.k.)[VersionMin = [major_version.minor_version]] ]](none is o.k.)[VersionMax = [major_version.minor_version]](none is o.k.)[BuildMin = [build_number]](none is o.k.)[BuildMax = [build_number]]à(none is o.k.)
processor_type
Value that is returned by SYSTEMINFO.dwProcessorType. For example, the value for the SH3 CPU is 10003 and the MIPS CPU is 4000.
UnsupportedPlatforms
List of platform family names that are known to be unsupported. If the name specified in the [CEDevice.xxx] section is different from that in the [CEDevice] section, both platform_family_name values are unsupported for the microprocessor that is specified by xxx. That is, the list of specific unsupported platform family names is appended to the previous list of unsupported platform family names. Application Manager will not display the application for an unsupported platform. Also, a user will be warned during the setup process if the .cab file is copied to an unsupported device. For example:
[CEDevice]
UnsupportedPlatforms 
= pltfrm1 ; pltfrm1 is unsupported
[CEDevice.SH3]
UnsupportedPlatforms 
= ; pltfrm1 is still unsupported
VersionMin and VersionMax
Numeric value that is returned by OSVERSIONINFO.dwVersionMinor and OSVERSIONINFO.dwVersionMajor. The .cab file is valid for the currently connected device if the version of the currently connected device is less than or equal to VersionMax and also greater than or equal to VersionMin. For Windows CE Japanese-language devices, set VersionMin and VersionMax to 2.01.
Note The supported Windows CE OS versions include 1.0, 1.01, 2.0, 2.01, and 2.10. When you use these numbers, be sure to include all significant digits.
BuildMin and BuildMax
Numeric value returned by OSVERSIONINFO.dwBuildNumber. The .cab file is valid for the currently connected device if the version of the currently connected device is less than or equal to BuildMax and also greater than or equal to BuildMin.
The following code example shows three [CEDevice] sections: one that gives basic information for any CPU and two that are specific to the SH3 and the MIPS microprocessors.
[CEDevice] 
                ; A "template" for all platforms
UnsupportedPlatforms 
                = pltfrm1 ; Does not 
                support pltfrm1
; The 
                following specifies version 1.0 devices only.
VersionMin 
                = 1.0
VersionMax 
                = 1.0
[CEDevice.SH3] 
                ; Inherits all [CEDevice] settings
; This 
                will create a .cab file specific to SH3 devices.
ProcessorType 
                = 10003 ; The SH3 .cab file is only valid 
; for 
                the SH3 microprocessors.
UnsupportedPlatforms 
                = ; 
                pltfrm1 
                is still unsupported
; The 
                following overrides the version settings so that no version
; checking 
                is performed.
VersionMin 
                =
VersionMax 
                =
[CEDevice.MIPS] 
                ; Inherits all [CEDevice] settings
; This 
                will create a .cab file specific to "MIPS" devices.
ProcessorType 
                = 4000 ; The MIPS .cab file is only valid 
; for 
                the MIPS microprocessor.
UnsupportedPlatforms 
                =pltfrm2 ; pltfrm1 
                and pltfrm2 
                are 
; unsupported 
                for the "MIPs" .cab file.
Note To create the two CPU-specific .cab files for the setup .inf file in the previous example, you must run the CAB Wizard with the /cpu sh3 mips parameter.
The [DefaultInstall] section is required and describes the default installation of your application.
[DefaultInstall]Copyfiles=copyfile_list_section[,copyfile_list_section]maps tofiles defined later in INF file (e.gFiles.App,Files.Font, Files.Bitmaps...).AddReg=add_registry_section[,add_registry_section]RegSettings.All[CEShortcuts=shortcut_list_section[,shortcut_list_section]] ; new key(as required)[CESetupDLL=setup_DLL] ; new key(as required)[CESelfRegister=self_reg_DLL_filename[,self_reg_DLL_filename] ; new key(as required)
<<Under DefaultInstall you will be listing items that are expanded 
upon later in this description…>>
shortcut_list_section 
String that identifies one more section that defines shortcuts to a 
file, as defined in the [CEShortcuts] section. 
setup_DLL 
Optimal string that specifies a Setup.dll. It is written by the independent 
software vendor (ISV) and contains customized functions for operations during 
installation and removal of the application. The file must be specified in the 
[SourceDisksFiles] section. 
self_reg_DLL_filename 
String that identifies 
files that self-register by exporting the DllRegisterServer and DllUnregisterServer Component Object Model (COM) 
functions. You must specify the files in the [SourceDiskFiles] section. 
During installation, 
if installation on the device fails to call the file's exported DllRegisterServer function, the file's exported 
DllUnregisterServer function will not be called 
during removal. 
The following code example shows a typical [DefaultInstall] section.
[DefaultInstall]
AddReg 
                = RegSettings.All
CEShortcuts 
                = Shortcuts.All
SourceDiskNamesThe [SourceDiskNames] section is required and describes the name and path of the disk on which 
your application resides.
[SourceDisksNames]disk_ordinal= ,disk_label,,path1=,"App files" ,,C:\Appsoft\RP32\...[disk_ordinal= ,disk_label,,path]2=,"Font files",,C:\RpTools\...3=,"CE Tools" ,,C:\windows ce tools...
The following code example shows a typical [SourceDiskNames] section.
[SourceDisksNames] ; Required section1 = ,"Common files",,C:\app\common ; Using an absolute path[SourceDisksNames.SH3]2 = ,"SH3 files",,sh3 ; Using a relative path[SourceDisksNames.MIPS]2 = ,"MIPS files",,mips ; Using a relative path
SourceDiskFilesThe [SourceDiskFiles] section is required and describes the name and path of the files in which 
your application resides.
[SourceDisksFiles]filename=disk_number[,subdir]rpm.exe = 1,c:\appsoft\...[filename=disk_number[,subdir]]wcestart.ini = 1rpmce212.ini = 1tahoma.ttf = 2<<Note that [,subdir] is relativeto the location of the INF file>>
The following code example shows a typical [SourceDiskFiles] section.
[SourceDisksFiles]         ; 
Required section 
begin.wav = 1 
end.wav = 1 
sample.hlp = 1 
[SourceDisksFiles.SH3] 
sample.exe = 2             ; 
Uses the SourceDisksNames.SH3
                                 ; 
identification of 2.
[SourceDisksFiles.MIPS] 
sample.exe = 2             ; 
Uses the SourceDisksNames.MIPS
                                 ; 
identification of 2.
DestinationDirsThe [DestinationDirs] section is required and describes the names and paths of the destination 
directories for your application on the target device.
[DestinationDirs]file_list_section = 0,subdirFiles.App = 0, %InstallDir%[file_list_section= 0,subdir]Files.Fonts = 0, %InstallDir%\Fonts[DefaultDestDir=0,subdir]
Note Windows CE does not support directory identifiers.
subdir 
String that identifies the destination directory. The following table 
shows the string substitutions that are supported by Windows CE. These can be 
used only for the beginning of the path. \
| String | Replacement value | 
| %CE1% | \Program Files | 
| %CE2% | \Windows | 
| %CE3% | \Windows\Desktop | 
| %CE4% | \Windows\Startup | 
| %CE5% | \My Documents | 
| %CE6% | \Program Files\Accessories | 
| %CE7% | \Program Files\Communication | 
| %CE8% | \Program Files\Games | 
| %CE9% | \Program Files\Pocket Outlook | 
| %CE10% | \Program Files\Office | 
| %CE11% | \Windows\Programs | 
| %CE12% | \Windows\Programs\Accessories | 
| %CE13% | \Windows\Programs\Communications | 
| %CE14% | \Windows\Programs\Games | 
| %CE15% | \Windows\Fonts | 
| %CE16% | \Windows\Recent | 
| %CE17% | \Windows\Favorites | 
| %InstallDir% | Contains the path to the target directory selected by the user during installation. It is declared in the "CEStrings" section | 
| %AppName% | Contains the application name, defined in the "CEStrings" section | 
The following code example shows a typical [DestinationDirs] section. 
[DestinationDirs]Files.Common = 0,%CE1%\My Subdir ;\Program Files\My SubdirFiles.Shared = 0,%CE2% ;\Windows
CopyFilesThe 
[Copyfiles] section, under the [DefaultInstall] section, is required and describes 
the default files to copy to the target device.
<<What they are saying 
is that under DefaultInstall you listed some files (e.g. Files.App, Files.Fonts, 
etc…) 
that 
must be defined elsewhere in the INF file. This section is identifying that 
mapping, and that it may contain flags.>>
[copyfile_list_section][Files.App]destination_filename,[source_filename],[,flags]rpm.exe,,,0[destination_filename,[source_filename],[,flags]]rpm.ini,rpmce212.ini,,0
The source_filename parameter is optional 
if it is the same as destination_filename. 
flags 
Numeric value that specifies an action to be done while copying files. 
The following table shows the values that are supported by Windows CE. 
| Flag | Value | Description | 
| COPYFLG_WARN_IF_SKIP | 0x00000001 | Warn a user if an attempt is made to skip a file after an error has occurred. | 
| COPYFLG_NOSKIP | 0x00000002 | Do not allow a user to skip copying a file. | 
| COPYFLG_NO_OVERWRITE | 0x00000010 | Do not overwrite an existing file in the destination directory. | 
| COPYFLG_REPLACEONLY | 0x00000400 | Copy the source file to the destination directory only if the file is already in the destination directory. | 
| CE_COPYFLG_NO_DATE_DIALOG | 0x20000000 | Do not copy files if the target file is newer. | 
| CE_COPYFLG_NODATECHECK | 0x40000000 | Ignore date while overwriting the target file. | 
| CE_COPYFLG_SHARED | 0x80000000 | Create a reference when a shared DLL is counted. | 
The following example is a typical [CopyFiles] section.
[DefaultInstall.SH3]CopyFiles = Files.Common, Files.SH3[DefaultInstall.MIPS]CopyFiles = Files.Common, Files.MIPS
AddRegThe [AddReg] section, 
under the [DefaultInstall] section, is optional and describes the keys and 
values that the .cab file adds to the device registry.
<<What they are 
saying is that under DefaultInstall you listed a reference to AddReg (AddReg=RegSettings.All).>>
This section defines the options for that setting. 
[add_registry_section]
[RegSettings.All]registry_root_string,subkey,[value_name],flags, value[,value][registry_root_string,subkey,[value_name],flags,value[,value]]
 
HKLM,"SOFTWARE\Microsoft\Shell\AutoHide",,0x00010001,1 
; Autohide the taskbar
HKLM,"SOFTWARE\Microsoft\Shell\OnTop",,0x00010001,0 
; Shell is not on top
HKLM,"SOFTWARE\Microsoft\Clock",SHOW_CLOCK,0x00010001,0 
; Clock is not on taskbar taskbar
registry_root_strings 
String 
that specifies the registry root location. The following table shows the values 
that are supported by Windows CE. 
| Root string | Description | 
| HKCR | The same as HKEY_CLASSES_ROOT | 
| HKCU | The same as HKEY_CURRENT_USER | 
| HKLM | The same as HKEY_LOCAL_MACHINE | 
value_name 
Registry value name. If empty, the "(default)" 
registry value name is used. 
flags 
Numeric value that specifies information about the registry key. The 
following table shows the values that are supported by Window CE. 
| Flag | Value | Description | 
| FLG_ADDREG_NOCLOBBER | 0x00000002 | If the registry key exists, do not overwrite it. This flag can be used in combination with any of the other flags in this table. | 
| FLG_ADDREG_TYPE_SZ | 0x00000000 | The REG_SZ registry data type. | 
| FLG_ADDREG_TYPE_MULTI_SZ | 0x00010000 | The REG_MULTI_SZ registry data type. The value field that follows can be a list of strings separated by commas. | 
| FLG_ADDREG_TYPE_BINARY | 0x00000001 | The REG_BINARY registry data type. The value field that follows must be a list of numeric values separated by commas, one byte per field, and must not use the 0x hexadecimal prefix. | 
| FLG_ADDREG_TYPE_DWORD | 0x00010001 | The REG_DWORD data type. Only the non-compatible format in the Win32 Setup .inf documentation is supported. | 
The following code example shows a typical [AddReg] section. 
AddReg = RegSettings.All[RegSettings.All]HKLM,%reg_path%,,0x00000000,alpha ; <default> = "alpha"HKLM,%reg_path%,test,0x00010001,3 ; Test = 3HKLM,%reg_path%\new,another,0x00010001,6 ; New\another = 6
CEShortcutsThe 
[CEShortcuts] section, a Windows CE–specific section under the [DefaultInstall] 
section, is optional and describes the shortcuts that the installation application 
creates on the device.
<<What 
they are saying is that under DefaultInstall you listed a reference to CEShortcuts 
(or 
commented it out)
(it 
may have been to Shortcuts.All). This section defines the options for that setting. 
>>
[shortcut_list_section][DestinationDirs]
Shortcuts.All 
                                                                = 0,%CE3% ; 
                                                                \Windows\Desktop
then
[Shortcuts.All]
 Shortcut_name,type_flag,Executable
shortcut_filename,shortcut_type_flag,target_file/path[,standard_destination_path][shortcut_filename,shortcut_type_flag,target_file/path[,standard_destination_path]]
shortcut_filename 
String that identifies the shortcut name. It does not require the .lnk 
extension. 
shortcut_type_flag 
Numeric value. Zero or empty represents a shortcut to a file; any nonzero 
numeric value represents a shortcut to a folder. 
target_file/path 
String value that specifies 
the destination location. For a file, use the target file name—for example, 
MyApp.exe—that must be defined in a file copy list. For a path, use a file_list_section 
name defined in the [DestinationDirs] section—for example, DefaultDestDir—or the %InstallDir% string. 
standard_destination_path 
Optional string value. 
A standard %CEx% path or %InstallDir%. If no value is specified, 
the shortcut_list_section name of the current section or the DefaultDestDir value from the [DestinationDirs] 
section is used. 
The following code example shows a typical [CEShortcuts] section. 
CEShortcuts = Shortcuts.All[Shortcuts.All]Sample App,0,sample.exe ; Uses the path in DestinationDirs.Sample App,0,sample.exe,%InstallDir% ; The path is explicitly specified.
Sample .inf FilesThe following code example shows a typical .inf file:
[Version] ; Required sectionSignature = "$Windows NT$"Provider = "Intermec Technologies Corporation"CESignature = "$Windows CE$";[CEDevice];ProcessorType =[DefaultInstall] ; Required section CopyFiles = Files.App, Files.Fonts, Files.BitMaps, Files.Intl, Files.TelecomNcsCE, Files.Windows, Files.Import, Files.Export, Files.Work, Files.Database, Files.WinCE AddReg = RegSettings.All ;CEShortcuts = Shortcuts.All [SourceDisksNames] ; Required section 1 = ,"App files" ,,c:\appsoft\... 2 = ,"Font files" ,,c:\WinNT\Fonts 3 = ,"CE Tools" ,,c:\windows ce tools\wce212\6110ie\mfc\lib\x86 [SourceDisksFiles] ; Required section rpm.exe = 1,C:\Appsoft\program\wce212\WCEX86Rel6110 wcestart.ini = 1 rpmce212.ini = 1 intermec.bmp = 1 rpmlogo.bmp = 1 rpmname.bmp = 1 import.bmp = 1 export.bmp = 1 clock.bmp = 1 printer.bmp = 1 filecopy.bmp = 1 readme.txt = 1 lang_eng.bin = 1 rpmdata.dbd = 1,database\wce tahoma.ttf = 2 mfcce212.dll = 3 olece212.dll = 3 olece211.dll = 1,c:\windows ce tools\wce211\NMSD61102.11\mfc\lib\x86 rdm45wce.dll = 1,c:\rptools\rdm45wce\4_50\lib\wce212\wcex86rel picfmt.dll = 1,c:\rptools\picfmt\1_00\wce212\wcex86rel6110 fmtctrl.dll = 1,c:\rptools\fmtctrl\1_00\wce212\wcex86rel6110 ugrid.dll = 1,c:\rptools\ugrid\1_00\wce212\wcex86rel6110 simple.dll = 1,c:\rptools\pspbm0c\1_00\wce211\wcex86rel psink.dll = 1,c:\rptools\psink\1_00\wce211\WCEX86RelMinDependency pslpwce.dll = 1,c:\rptools\pslpm0c\1_00\wce211\WCEX86RelMinDependency npcpport.dll = 1,c:\rptools\cedk\212_03\installable drivers\printer\npcp ;dexcom.dll = 1,c:\rptools\psdxm0c\1_00\x86 ncsce.exe = 1,c:\rptools\ncsce\1_04 nrinet.dll = 1,c:\rptools\ncsce\1_04 [DestinationDirs] ; Required section ;Shortcuts.All = 0,%CE3% ; \Windows\Desktop Files.App = 0,%InstallDir% Files.DataBase = 0,%InstallDir%\DataBase Files.BitMaps = 0,%InstallDir%\Bitmaps Files.Fonts = 0,%InstallDir%\Fonts Files.Intl = 0,%InstallDir%\Intl Files.TelecomNcsCE = 0,%InstallDir%\Telecom\NcsCE Files.Windows = 0,%InstallDir%\Windows Files.Import = 0,%InstallDir%\Import Files.Export = 0,%InstallDir%\Export Files.Work = 0,%InstallDir%\Work Files.WinCE = 0,\storage_card\wince [CEStrings] ; Required section AppName = Rp32 InstallDir = \storage_card\%AppName%[Strings] ; Optional section;[Shortcuts.All];Sample App,0,sample.exe ; Uses the path in DestinationDirs.;Sample App,0,sample.exe,%InstallDir% ; The path is explicitly specified.[Files.App] rpm.exe,,,0 rpm.ini,rpmce212.ini,,0 mfcce212.dll,,,0 olece212.dll,,,0 olece211.dll,,,0 rdm45wce.dll,,,0 picfmt.dll,,,0 fmtctrl.dll,,,0 ugrid.dll,,,0 simple.dll,,,0 psink.dll,,,0 pslpwce.dll,,,0 npcpport.dll,,,0 ;dexcom.dll,,,0 [Files.DataBase] rpmdata.dbd,,,0 [Files.Fonts] tahoma.ttf,,,0 [Files.BitMaps] intermec.bmp,,,0 rpmlogo.bmp,,,0 rpmname.bmp,,,0 import.bmp,,,0 export.bmp,,,0 clock.bmp,,,0 printer.bmp,,,0 filecopy.bmp,,,0 [Files.Intl] lang_eng.bin,,,0 [Files.TelecomNcsCE] ncsce.exe,,,0 nrinet.dll,,,0 [Files.Windows] readme.txt,,,0 [Files.Import] readme.txt,,,0 [Files.Export] readme.txt,,,0 [Files.Work] readme.txt,,,0 [Files.WinCE] wcestart.ini,,,0[RegSettings.All]HKLM,"SOFTWARE\Microsoft\Shell\AutoHide",,0x00010001,1 ; Autohide the taskbar HKLM,"SOFTWARE\Microsoft\Shell\OnTop",,0x00010001,0 ; Shell is not on top HKLM,"SOFTWARE\Microsoft\Clock",SHOW_CLOCK,0x00010001,0 ; Clock is not on taskbar
The following code example shows an .inf file:
[Version] ; Required section
Signature = "$Windows NT$"
Provider = "Intermec Technologies Corporation"
CESignature = "$Windows CE$"
[DefaultInstall] ; Required section
CopyFiles = Files.App, Files.DLLFiles, Files.Text
AddReg = RegSettings.All
CEShortcuts = Shortcuts.All
[CEStrings] ; Required section
AppName = 600HdCE 
InstallDir = \storage_card\Demo\600HdCE 
[Strings] ;Optional 
[SourceDisksNames] ; Required section
1 = ,"App files" ,,c:\appsoft\600hdce\deliver 
2 = ,"Font files" ,,c:\WinNT\Fonts 
3 = ,"CE Tools" ,,c:\windows ce tools\wce212\602ie\mfc\lib\x86 
4 = ,"App root" ,,c:\appsoft\600hdce 
[SourceDisksFiles] ; Required section 
600hdce.exe = 1 
Features.txt = 1
LIT_DEU.dll = 1
LIT_ENU.dll = 1
LIT_ESP.dll = 1
LIT_EST.dll = 1
LIT_FRA.dll = 1
LIT_ITA.dll = 1
LIT_NOR.dll = 1
LIT_PTG.dll = 1
LIT_SVE.dll = 1
readme.txt = 1
iscan.dll = 1
mfcce212.dll = 1
olece212.dll = 1
psink.dll = 1
simple.dll = 1
[DestinationDirs] ; Required section 
Shortcuts.All = 0,%CE3% 
Files.App = 0,%InstallDir% 
;Files.BitMaps = 0,%InstallDir% 
;Files.DataBase = 0,%InstallDir% 
Files.DLLFiles = 0,%InstallDir% 
;Files.Fonts = 0,%InstallDir%\Fonts 
;Files.WinCE = 0,\storage_card\wince 
Files.Text = 0,%InstallDir%
[Files.App] 
600hdce.exe,,,0 
;600hdce.ini,,,0 
;[Files.BitMaps] 
;intermec.bmp 
;[Files.Database]
;*.dbd,,,0
;*.asc,,,0
[Files.DLLFiles]
LIT_DEU.dll,,,0
LIT_ENU.dll,,,0
LIT_ESP.dll,,,0
LIT_EST.dll,,,0
LIT_FRA.dll,,,0
LIT_ITA.dll,,,0
LIT_NOR.dll,,,0
LIT_PTG.dll,,,0
LIT_SVE.dll,,,0
iscan.dll,,,0
mfcce212.dll,,,0
olece212.dll,,,0
psink.dll,,,0
simple.dll,,,0
;[Files.Fonts]
;tahoma.ttf,,,0
[Files.Text]
Features.txt,,,0
Readme.txt,,,0
[Shortcuts.All] 
HW_Demo,0,600hdce.exe 
[RegSettings.All] ;Optional 
HKLM,"SOFTWARE\Microsoft\Shell\AutoHide",,0x00010001,1 ; 
Autohide the taskbar
HKLM,"SOFTWARE\Microsoft\Shell\OnTop",,0x00010001,0 ; Shell 
is not on top
HKLM,"SOFTWARE\Microsoft\Clock",SHOW_CLOCK,0x00010001,0 ; 
Clock is not on taskbar
.inf example NOTESNOTE 1:There is some confusion in the application of file naming. Note in the reference:olece211.dll = 1,c:\windows ce tools\wce211\NMSD61102.11\mfc\lib\x86
that olece211.dll 
            has no reference to the defined file "1" (1 = ,"App files" 
            ,,c:\appsoft\...).
When 
            the explicit path is included as the 2nd argument, it 
            is executed in place of the 1st argument.
However, 
            in the application:
rpmdata.dbd = 1,database\wce
confusion 
            arises. NOTE that the subdirectory path (database\wce) is NOT relative to the 
            1st argument. Again, 
            inclusion of a 2nd argument preempts 
            the 1st. Instead, the subdirectory 
            path is RELATIVE TO THE LOCATION OF THE INF FILE. In this case 
            the INF file resided in c:\appsoft\…, and the proper database subdirectory 
            file was fetched.
NOTE 
2: Notice that this file incorporates placement of a shortcut on the 
desktop, 
which requires only the 3 noted references.
Using Installation 
Functions in Setup.dllSetup.dll is an optional file that enables you to perform custom operations 
during installation and removal of your application. The following table shows 
the functions that are exported by Setup.dll. 
| Function | Description | 
| Install_Init | Called before installation begins. Use this function to check the application version when reinstalling an application and to determine if a dependent application is present. | 
| Install_Exit | Called after installation is complete. Use this function to handle errors that occur during application installation. | 
| Uninstall_Init | Called before the removal process begins. Use this function to close the application, if the application is running. | 
| Uninstall_Exit | Called after the removal process is complete. Use this function to save database information to a file and delete the database and to tell the user where the user data files are stored and how to reinstall the application. | 
Note Use the [CESelfRegister] section in the .inf 
file to point to Setup.dll. 
Using CAB Wizard to 
Create a .cab File After you create the .inf file and the optional Setup.dll file, use 
the CAB Wizard to create the .cab file. The command-line syntax for the CAB 
Wizard is as follows:
 A batch file, 
located in <program> directory, with the following commands, works well:
inf_file 
Setup .inf file path. 
dest_directory 
Destination directory for the .cab files. If no directory is specified, 
the .cab files are created in the inf_file directory. 
error_file 
File name for a log file that contains all warnings and errors that 
are encountered when the .cab files are compiled. If no file name is specified, 
errors are displayed in message boxes. If a file name is used, the CAB Wizard 
runs without the user interface (UI); this is useful for automated builds. 
cpu_type 
Creates a .cab file 
for each microprocessor tag that you specify. A microprocessor tag is a label 
that is used in the Win32 setup .inf file to differentiate between different 
microprocessor types. The /cpu parameter, followed by multiple 
cpu_type values, must be the last qualifier in the command line. 
The following example creates .cab files for the SH3 and MIPS microprocessors, 
assuming that the Win32 setup .inf file contains the SH3 and MIPS tags:
cabwiz.exe 
                "c:\myfile.inf" /err myfile.err /cpu sh3 mips
Note The following Windows CE files 
must be installed in the same directory on the desktop computer: Cabwiz.exe, 
Makecab.exe, and Cabwiz.ddf. Cabwiz.exe must be called with its full path in 
order to run correctly.
Troubleshooting the 
CAB WizardTo identify and avoid 
problems that might occur when using the CAB Wizard, follow these guidelines: 
Use %% for a percent sign (%) character when using 
    this character in an .inf file string, as specified in the Win32 documentation. 
    This will not work under the [Strings] section. 
Do not use .inf 
    or .cab files that were created for Windows CE to install applications on 
    Windows-based desktop platforms. 
Ensure that the 
    Makecab.exe and Cabwiz.ddf files, included with Windows CE, are in the same 
    directory as Cabwiz.exe. 
Use the full path 
    to call Cabwiz.exe. 
Do not create a 
    .cab file with the Makecab.exe file that is included with Windows CE. You 
    must use Cabwiz.exe, which uses Makecab.exe to generate the .cab files for 
    Windows CE. 
Do not set the 
    read-only attribute for .cab files.