Datasheet

AN335
2 Rev. 0.2
If the setup.ini specifies that driver files should not copied to the PC then no installation directory is shown in the
window, and nothing will happen if a directory is supplied at command line. Because nothing is copied, the install
media (such as a CD, floppy, or the source install directory on the PC) is where the installation originates and will
be needed when devices are plugged in. If the installation media is not found when a device is plugged in then the
“Add New Hardware Wizard” will prompt you for the disc or floppy. It is recommended to always copy the drivers to
the PC under “root:\Program Files\Company Name\Product Name” to avoid this behavior.
2.1.2. Pre-Installation Routine
When the install button is clicked, the installer goes through a process to make sure that the driver is installed
successfully and cleanly. The steps are as follows:
Pre-installation check
Checks that a current version of the driver is not already installed.
Checks that an older version of the driver is not installed.
Checks that a version of this driver is not installed using an older version of Silicon Labs driver installation utilities.
Performs a system scan to ensure that other INF files do not exist with the VID and PID of the drivers that are about to be
installed.
The first check determines if the driver being installed is already installed or not. If it is installed, it prompts and
exits. The next check determines if an older version of this driver was installed previously. If so, it will perform a
proper removal before installing the new driver. There is also a check to determine if this type of driver was
installed using one of Silicon Labs’ older installation utilities by looking up the uninstall keys in the registry. If it finds
an old version installed then it prompts the user to uninstall the old installation and runs the old uninstaller utility in
quiet mode.
Finally, the INF directory is scanned to find any leftover INF files that contain a matching VID and PID to the one we
are installing now. If they are found the user is prompted with the names of the driver sets and can choose to either
uninstall them and continue or cancel the installation.
During any of these preinstall checks it is possible that something may occur that requires a reboot. If this is the
case, then the user is prompted to reboot at the end of the successful installation.
2.1.3. Driver Installation Routine Description
Driver Installation (upon successful pre-installation check)
Driver files are copied to the installation directory (if specified in setup.ini).
The uninstaller is copied into the system directory.
INF files are installed from either the installation directory (if copied) or the install media.
Registry entries are created for Driver Uninstallation.
Registry entries are created containing information on the current installation such as the version, VID, PID, DriverInstaller
version, installation directory, and lists of files copied and installed. It also contains the options for uninstallation such as
quiet, removing the installed driver files, etc.
The driver installation process is very straightforward. Here, if anything fails in the above routine list then the user is
prompted and the application exits. If there are no errors then the installation prompts with success and exits.
2.1.4. Driver Installation Completion
The driver installer records all device installation in the following registry key (this key can be checked by a calling
application to determine if an installation has been completed successfully):
HKEY_LOCAL_MACHINE\SOFTWARE\Silicon Laboratories, Inc.\Silicon Laboratories Driver Installations\<Device
Type>\<Device Specific Key>
<Device Type>—The devices are split into USBXpress or VCP device types with a corresponding registry key of
“USBXpress” and “VCP CP210x Cardinal” respectively.
<Device Specific Key>—USBXpress devices consist of device string “SIUSBXP&VVVV&PPPP” and CP210x
devices consist of device string “IIIICOMM&VVVV&PPPP” (where IIII is up to the first 4 characters in the INF file
name, VVVV is the VID and PPPP is the PID). These device specific keys are also used in the Windows Uninstaller
registry key which causes the driver installation to appear in the Add\Remove Programs listing.