• More information about supported Languages and Locales
  • Disabling software-enumerated devices recorded by Tap.exe
  • On-line content Target Designer Guide General information
  • How to allow multiple users to have access to a Standard 2009 database
  • Altering the Default Settings of a Component
  • Common Target Designer Errors
  • Configuration error when you try to create a new configuration
  • On-line content Component Designer Guide General information
  • Using XPECMD to analyze components in the database
  • Creating custom components
  • What is a macro component
  • How to create shortcut resources in your System Level Definition (SLD) file
  • Creating driver components
  • Driver Component Debugging
  • Installing third party driver and applications after FBA completes
  • Installing a third party driver via rundll32
  • Multilingual User Interface (MUI)




    Download 5,67 Mb.
    bet10/36
    Sana26.12.2019
    Hajmi5,67 Mb.
    #5189
    1   ...   6   7   8   9   10   11   12   13   ...   36

    Multilingual User Interface (MUI)


    Useful related online links follow:

    Multilingual User Interface Pack

    Installing Windows XP Embedded with Service Pack 2

    Hodge Podge Lodge: Remote Debugging, Localization, and Globalization in Windows XP Embedded

    Comparing Windows XP Professional Multilingual Options

    How to Add Multiple Language Support to a Run-Time Image

    Adding Multiple Language Support in a Windows XP Embedded Image (XP Embedded SP1)

    Windows XP Embedded Language Support Overview (XP Embedded SP2)

    Language Support

    List of available languages:



    Language

    Abbreviation

    Arabic

    ARA

    Chinese – Simplified

    CHS

    Chinese – Traditional

    CHT

    Czech

    CSY

    Danish

    DAN

    Dutch

    NLD

    English

    ENU

    Finnish

    FIN

    French

    FRA

    German

    DEU

    Greek

    ELL

    Hebrew

    HEB

    Hungarian

    HUN

    Italian

    ITA

    Japanese

    JPN

    Korean

    KOR

    Norwegian

    NOR

    Polish

    PLK

    Portuguese

    PTG

    Russia

    RUS

    Spanish

    ESN

    Swedish

    SVE

    Turkish

    TRK


    More information about supported Languages and Locales


    Standard 2009 does not support all the languages and locales that are supported by Windows XP Professional. You can use the links below for comparison purposes.

    This FAQ shows all the languages supported by Windows XP Professional.



    Frequently Asked Questions - Windows XP Home and Professional Editions

    This page shows the locales supported by Windows XP Professional:



    Windows XP/Server 2003 - List of Locale IDs, Input Locale, and Language Collection

    Using Development Tools


    This section contains helpful tips and tricks for Standard 2009 tools. For a general overview, visit the following Microsoft Web site:

    Getting Started with Windows Embedded Standard Tools

    Target Analyzer


    See also:

    Hardware Detection with Target Analyzer

    The Target Analyzer tool has two versions:



    • Ta.exe is an MS-DOS® (16-bit real mode)-based application that enables you to obtain a list of hardware devices as reported by BIOS.

    • Tap.exe requires a Windows XP or a Windows Preinstallation Environment (WinPE) (32-bit protected mode) operating system. It inspects the hardware section of the registry to obtain a list of all hardware devices that have ever been installed in the system.

    For best results, install XP Professional on your target device and then run TAP.EXE.

    The Target Analyzer tool provides various levels of hardware detection, depending on the operating system that is running on the device. In a 16-bit environment, Ta.exe produces very limited results. Ta.exe can only make an assumption regarding the hardware abstraction layer (HAL) and CPU types. The following table shows the hardware device types that Ta.exe and Tap.exe can detect. Tap.exe can be restricted or unrestricted.



    Device type

    Ta.exe running in MS-DOS

    Tap.exe running in WinPE

    Tap.exe running in Windows XP Professional

    Plug and Play BIOS

    X

    X

    X

    PCI

    X

    X

    X

    ACPI (presence)

    X

    X

    X

    ACPI (devices)

     

     

    X

    USB (presence)

    X

    X

    X

    USB (devices)

     

     

    X

    1394 (presence)

    X

    X

    X

    1394 (devices)

     

     

    X

    SCSI (presence)

    X

    X

    X

    SCSI (devices)

     

     

    X

    PCMCIA (presence)

    X

    X

    X

    PCMCIA (devices.)

     

     

    X

    DiskOnChip

    X

    X

    X

    ISA (presence)

    X

    X

    X

    ISA (devices)

     

     

    Some/Maybe

    HAL

    Best guess

    X

    X

    CPU (driver)

    Best guess

    X

    X

    IDE (presence)

    X

    X

    X

    IDE (devices)

     

     

    X

    GKW (other)

     

     

    X

    Software enumerated devices

     

     

    X

    Note If you removed a device from your system, you must also remove the component corresponding to the device in Component Designer and/or Target Designer.

    Disabling software-enumerated devices recorded by Tap.exe


    One potential disadvantage to using Tap.exe is that you get every device listed in the registry. This includes devices that were installed at some point in time, but have since been removed (such as an old video card you may have upgraded from) and also includes software-enumerated devices. Many configurations will show WAN Miniport and RAS Async components. These are listed in the registry of your computer, but may not be needed for standard networking features to function properly in your runtime. Disabling or deleting them can greatly reduce your footprint. To get the benefit, you must remove them from the configuration before you ever run through the check dependency phase. Alternately, install a fresh instance of XP Pro on your device before running the Tap tool.

    Target Designer

    On-line content


    Target Designer Guide

    General information

    The difference between the build type "debug" and "release" in Target Designer

    Debug builds are not supported. Building a debug runtime will result in errors because not all files will be in the runtime. For example, NTLDR will be missing.

    Only retail (release) builds are supported because only the retail binary files were added to the repositories that shipped with the product.


    How to allow multiple users to have access to a Standard 2009 database:

    The Embedded suite creates predefined database roles on your development computer that you can assign to SQL Server users. These roles are WES_Reader, Wes_Importer and WES_Admin. You can see these predefined roles in Enterprise Manager. For additional information, visit the following Microsoft Web site:

    Working with SQL Server to Manage Your Windows Embedded Standard Database
    Altering the Default Settings of a Component

    You cannot alter all components but some components have settings that you can configure in Target Designer to modify the default properties of the component before you build your runtime. For example, in your configuration, examine the settings for your display driver component. You will see that you have the ability pre-select the run-time resolution, refresh rate, and color depth.

    Common Target Designer Errors

    Filters in Target Designer causing a CMI error

    If you are using a complex filter, you may receive the following error message:

    The CMI encountered the following error: 0x80042335 (-2147212491)
    A database error occurred within the CMI.

    To resolve this issue, add the following registry key:



    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Embedded\CMI\DBCmdTimeout

    You can then create the DBCmdTimeout DWORD value type, and set the value to 300, which is 5 minutes. If the error occurs again, or if you are using a more complex filter algorithm, you may need to increase the DBCmdTimeout value.


    Configuration error when you try to create a new configuration

    When you click New on the File menu, and then try to type a configuration name, you may receive the following error message:

    Configuration Management Error Code=0x8002801d

    To resolve this problem, upgrade your development computer to Windows Script 5.6. You can install this upgrade from the following Microsoft Web site:

    Windows Script 5.6 for Windows XP and Windows 2000 

    Component Designer


    This section contains tips, tricks, and techniques for creating your own components.

    On-line content


    Component Designer Guide

    General information


    When you create a new component, you need to put all the files into one flat folder. You cannot have a directory structure in a repository; it must all come from the root of the folder. If there are file name collisions, rename one of the files in the repository, and then change the Source Name property of the file resource in the component.

    Using XPECMD to analyze components in the database


    FP2007 introduced a new version of CMI Explorer, named Console Application for Windows XP Embedded, or XPECMD for short. Use this tool to report information about pre-existing components. This includes file resources, registry resources and component dependencies.

    See Command-Line Tool.

    The following blog describes this feature in more detail:

    Console Application for Windows XP Embedded

    Creating custom components


    Review these links:

    Componentizing Applications (Standard 2009)

    Basic Componentization

    Older links follow, that may offer additional insight:



    How to Componentize an Application

    Component Designer: Pulling It All Together

    Creating custom components for Windows XP Embedded

    Review this set of blog articles, walking you through every basic step to componentize WinAmp:



    Componentizing Apps (Winamp project)

    Componentizing the app means creating a component with Component Designer that owns all the file and reg and custom action resources, then determining all of the application dependencies on windows features so that the application can be installed offline via Target Designer.

    With that basic definition, you should know that not all OEMs “componentize” their apps and drivers. They instead will identify the windows components they depend on for both their application installer and application to function, add those components to the runtime and after setup the OEM installs the drivers and apps from the desktop.

    Benefits of componentizing the app/drivers to install offline:



    1. Componentizing reduces the level of involvement in tweaking the builds post-FBA.

    2. Footprint may be reduced, because post-FBA installation may introduce temporary files and servicing status files that can bloat the image size.

    Additional componentization resources are available:

    Windows Embedded Standard (Forums)

    Windows Embedded Newsgroups (not as active as the Forums)

    The Windows Embedded Standard team blog

    MVP sites have lots of componentized drivers and helper components from the community



    www.xpefiles.com

    http://www.seanliming.com/

    The Microsoft XPe site: http://msdn.microsoft.com/embedded/windowsxpembedded

    Depending on the level of knowledge of the developer and familiarity with the tools and component building process and the complexity of the app, it may take anywhere from a couple of hours to a couple of days to fully determine the dependencies. In some cases, you may get a vast majority of the dependencies in that period, only to later identify non intuitive dependencies during testing, for instance a missing font or code page.

    What is a macro component?


    A macro component is simply a component that has only component dependencies—no binary or registry dependencies are listed within that component. If you create your own macro components in Component Designer, use the Macro Component check box. When you import the resulting component into your database, the display name will be bold to indicate that it is a macro component.

    Also if you import your TAP.EXE output (devices.pmq) into Component Designer (File->Import) this will produce a macro component that contains a list of hardware components derived from your devices.pmq.

    For more information:

    Automating the Build Process Using Macro Components and Prototyping

    Using Macro Components to Ensure Application Compatibility


    How to create shortcut resources in your System Level Definition (SLD) file


    One confusing aspect of componentizing an application for Standard 2009 has been how to create your own shortcut resources offline. This section provides the steps necessary to create a shortcut offline that will be propagated to the runtime by Target Designer. For this example, a shortcut to the Start Menu for a fictional Flight Simulator program called "XYZ" is created.

    Note that there is one component in the database that generates all the standard shortcuts to the Start Menu that are normally installed by default in a full version of Windows XP Professional. That component is called "Standard Start Menu Shortcuts." Adding this component to your runtime generates links to 51 different files even if those associated files do not exist in your runtime. From Target Designer, you can simply disable any resources within the "Standard Start Menu Shortcuts" to prevent it from generating broken links.



    1. Go to the resources area for your component, right-click within the area, and then click Add->Shortcut from the shortcut menu.

    2. Type the shortcut name in the Name field. For this example,

    3. FlightSim XYZ

    4. Fill in the Description field with whatever it is that is being linked to. For this example:

    5. FlightSim XYZ - realistic Flight Simulator

    6. Type the link the DstName field. For this example:

    7. Flightsim.lnk (This is the actual link's filename.)

    8. Fill in the DstPath field with the location this link file is headed to. If the folder does not exist, Target Designer will create the folder for you. For this example:

    9. %SystemDrive%\Documents and Settings\All Users\Start Menu\Programs\Flight Simulator\

    10. Fill in the TargetPath field with the path to the program that you are linking to. Be sure to add the .exe file extension in the path. For this example:

    11. %ProgramFiles%\FlightSim XYZ\Flight.exe

    12. Fill in the WorkingDir field with the path to the folder where the program is located. Do not include the .exe file extension in the path for this variable. For this example:

    13. %ProgramFiles%\FlightSim XYZ

    In addition, you can fill in the Arguments field with any arguments that are normally in the shortcut. Some arguments may start with a minus (-) sign, for example,
    -AnyArgumentHere, while other arguments do not. Please consult the shortcuts that are normally created with the given program.

    For additional information about component creation, review the following:



    Creating Custom Components

    Creating driver components

    How to create third-party driver components


    The Windows Embedded suite of tools allows you to easily create your own third-party driver components. The first step is to download the driver to a full version of Windows XP so that you can see all the file resources that the driver uses. In your working folder, create two folders. Name one "Rep." This is where you will place all the driver files that you identified. Name the other one "SLD." This is where your component will reside.

    To create the driver component itself:



    1. Start Component Designer and import the driver’s INF file. Make sure you select *.inf file type in the Files of type list. In the INF Processing Options box, click the default radio button, Automatic. Before pressing Start, specify a Log file name so you can easily review importing errors later.

    2. The import procedure populates the Component Designer nodes with all the necessary files, resources, and registry keys. There may also be multiple components, one for each version of the driver. If you receive error messages, see the following Microsoft Web site:
      I've Componentized a Driver and I Get Errors

    3. Create a package object. To do so, right-click the Packages node, click Add Package, and then fill out an appropriate name and description.

    4. Create a repository object.

    5. Right-click the Repositories node, click Add Repository, and then fill out an appropriate name and description.

    6. Set the Source Path to the repository files. To do so, click the Browse button, and then navigate to the Rep subfolder that you created in your working folder, in order to add the relative path to your component's repository (your working folder contains your .SLX component definitions). If the name of the folder is Rep, the repository Source Path indicated should be “.\..\Rep”. It appears this way because this defines a folder reference that is relative to where your component is stored in your SLD folder.

    7. For each component in the SLD, set a reference to the repository object. To do so, click the Repositories… button, and then browse to the repository object that you created.

    8. For each component in the SLD, add the package object as a group member. Expand each component, right-click Group Memberships, expand to the package object that you created, and then add it.

    9. For each component in the SLD, mark it as Released. Right click on the component and then choose Release (consider holding off on this step until the component has been tested).

    10. Save the SLD to your working folder.

    11. Make sure you copied all the associated driver file(s), (*.sys, *.inf, *.cat) to the REP folder you created.

    12. Use Database Manager to import the SLD into your database for inclusion in a runtime configuration. Make sure that the Copy repository files to repository check box is selected.

    If your driver uses a self-extracting executable, it may be helpful to use a tool to track where all the driver files are extracted to, when the setup installer is launched in a conventional XP Pro system. These tools essentially snapshot the state of the system before and after the installer launches, and then compares the differences between the snapshots, reporting file and registry differences.

    Third party installation monitoring tools

    Filemon, Regmon and/or Process Monitor may also be helpful in monitoring changes made to files and registry keys when the driver is installed. You can obtain them from the following Web site:



    Windows Sysinternals (for FileMon, RegMon, Process Monitor, Process Explorer etc.)

    Driver Component Debugging


    If you are having difficulties componentizing an audio driver, check this link:

    I am having problems componentizing my third-party audio driver

    For an overview of Microsoft debugging tools for Windows, visit the following Microsoft Web site:



    Debugging Tools for Windows - Overview

    For information about verbose debug tracing, see the following article in the Microsoft Knowledge Base:



    How to enable verbose debug tracing in various drivers and subsystems

    If you use a serial port for communication with a serial device, you may encounter false serial mouse detections. For a registry remedy, see the following article in the Microsoft Knowledge Base:



    Serial Device May Be Detected as a Serial Mouse in Windows 2000

    For information about the null modem cable technique for kernel debugging, see the following article in the Microsoft Knowledge Base:



    How to set up a remote debug session using a null modem cable

    To obtain checked binary files for Windows XP Professional visit the following Microsoft Web sites:



    Windows XP Service Pack 2 Checked Build Network Installation Package

    Installing third party driver and applications after FBA completes


    Instead of creating a component, you can install drivers and applications after FBA completes.

    In some cases, a third party driver installer application may fail to install in Standard 2009, while the same driver installer works in XP Professional. You can try the following steps which configure your XPe image to appear as if it is XP Professional, in order to allow an installer to function.

    This same technique may be needed when installing Microsoft Desktop Updates (Updates that are designed for installation into a Windows XP Professional system).

    1. In Standard 2009, the code that performs driver signing verification has been modified. The following registry key is unique to Standard 2009 (and XP Embedded):



    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup]

    "MinimizeFootprint"

    This key is used in SetupApi and was designed to accommodate reduced embedded footprint scenarios. When it exists, it disables many of the driver validation steps that are normally performed in XP Pro, while at the same time allowing a reduced footprint because crypto is not needed etc.



    • .PNF files are not generated, which are rather large files which might be a footprint problem in Standard 2009.

    • Driver signing is completely disabled.

    With Driver signing disabled, crypto API is not called, so the developer can keep the Crypto API out of the image (here are the Crypto related components: Core Certificate Services, Cryptographic Network Services, Cryptographic Service Providers, FBA:Crypto, Kernel Mode Crypto Driver for RSA, Smart Card Cryptographic Service Providers, Certificate User Interface Services).

    Some developers have needed to restore Driver signing verification functionality for certain application or driver installers to function.

    If you discover that you need to disable MinimizeFootprint in order to install a third party driver or application:


    • Verify that the Crypto components listed above are included.

    • Ensure that your image contains the FBA: Driver Signing component.  This component contains catalog files which contains, among other things, default paths used when installing device drivers.

    • Completely delete, or rename the MinimizeFootprint key.

    • Reboot and then install your app.

    • Restore the MinimizeFootprint key and then reboot your computer. The Windows Embedded Standard 2009 Test team has NOT conducted full tests with this flag turned off (removed).

    It is possible that if you keep MinimizeFootprint disabled, your image may be missing some of the above functionality (the components listed above) required to perform driver signing etc, which could cause random compatibility problems if not present.

    2. The following steps restore the ability to automatically detect all the in the box drivers supplied by XP Pro. Please note that this should be a temporary step to enable your installer to function. If you want to support this functionality permanently in your XPe device, use the following component instead, which componentizes driver.cab etc: Generic Device Driver Support, and then pick and choose which device driver class you wish to support via its Settings.



    1. Create a Windows\Driver Cache\i386 folder on the XPe machine

    2. Copy driver.cab and sp1.cab and/or sp2.cab files (from an XP Pro SP2 machine) to the above folder.

    3. Also copy drvindex.inf to Windows\inf on the XPe machine. During driver installation, the system first checks drvindex.inf to make sure that the files it needs do actually exist in the driver.cab and sp2.cab files.

    4. Remove or rename the MinimizeFootprint registry key (and reboot)

    Installing a third party driver via rundll32


    You can install an application or driver by directly using setupapi and rundll32:

    rundll32 setupapi.dll,InstallHinfSection DefaultInstall 132 c:\Windows\inf\myInfFile.inf

    (Substitute the actual name of the DefaultInstall section and the full path for the inf file in the previous command. No spaces should be removed or added in between)

    It may be necessary to include the following components in the design:


    • Primitive: Rundll32

    • Primitive: Setupapi

    • PnP (User-mode)

    • Primitive: Umpnpmgr

    • PnP (Kernel-mode)

    • FBA: PnP

    • Add Hardware Control Panel

    For more information:



    InstallHinfSection Function

    Setup API

    Download 5,67 Mb.
    1   ...   6   7   8   9   10   11   12   13   ...   36




    Download 5,67 Mb.