This is a string.
All profiles generated by CodeWeavers or from the compatibility center will be of the form 'com.codeweavers.c4.xxx'.
We perform Windows-style environment variable substitutions in these strings. This is used so profiles don't have to hard-code things like 'c:', 'Program Files', etc. To this end the installer core access to the standard environment variables, which include the ones listed below (values are indicative only):
%AllUsersProfile% = c:\users\Public
%AppData% = c:\users\crossover\Application Data
%ComSpec% = c:\windows\system32\cmd.exe
%LocalAppData% = c:\users\crossover\Local Settings\Application Data
%ProgramFiles% = c:\Program Files
%SystemDrive% = c:
%SystemRoot% = c:\windows
%Temp% = c:\windows\temp
%UserProfile% = c:\users\crossover
%WinDir% = c:\windows
%WinSysDir% = c:\windows\system32
In addition to the standard Windows environment variables, the installer defines (values are indicative only):
%Desktop% = c:\users\crossover\Desktop
%StartMenu% = c:\users\crossover\Start Menu
%Programs% = Programs
%Accessories% = Programs\Accessories
limited HTML string
This type is used for most text where we want to allow some control on the formatting so that specific parts of it can be emphasized with bold or colors. This should also allow links.
The exact HTML subset we support will be determined by the GUI widget capabilities.
In the current CrossOver Setup a number of strings are automatically localized, the application names for instance. This is needed because applications may have a different name depending on the language, Windows Media Player for instance, and users may not recognize their foreign name.
ISVs that put up a c4p file on their web site will want to be able to provide translations for these strings right in that profile file. With XML this can be done by allowing multiple instances of the corresponding tag and giving it a 'lang' attribute. So we would have things like:
Windows Media PlayerLecteur Windows Media
A fairly general perl-style regular expression.
restricted file glob
In many places we need to check for the presence of files or work on a set of files. We do so by using file globs using the standard shell syntax.