If you are an IT professional and use TechNet or the Office
Resource Kit, take a look at our Online Survey
(http://go.microsoft.com/fwlink/?LinkId=132189). Let us know how we
can best meet your documentation needs. You can read more about our
work to improve documentation on the Office
Resource Kit Blog
(http://go.microsoft.com/fwlink/?LinkID=125627&clcid=0x409).

The primary tool you use to customize the installation of
products in the 2007 Microsoft Office system is the Office
Customization Tool (OCT). For more information about using the OCT
to create a Setup customization file, see Office Customization
Tool in the 2007 Office system.

The Config.xml file is used to configure installation tasks and
is used only while running Setup; it is not installed
or cached on users' computers. Administrators can edit the
Config.xml file to customize the installation. By default, the
Config.xml file that is stored in the core product folders
(core_product_folder_name.WW folder, for example,
Enterprise.WW or Pro.WW) directs Setup to install that product. For
example, the Config.xml file in the Pro.WW folder installs
Microsoft Office Professional 2007.

You use the Config.xml file to perform the following
installation tasks:

Specifying the path to the network installation point.

Selecting which product to install.

Customizing Setup options, such as logging and the location of
the Setup customization file and software updates.

Setting installation options, such as user and company name.

Copying the local installation source (LIS) to the user's
computer without installing Office.

Adding or removing languages from the installation.

The Config.xml file can also be used for maintenance operations
such as adding or removing features, and repairs and uninstalls. To
do this, administrators must rerun Setup.exe from the original
source. For more information, see "Using the Config.xml file for
maintenance" in Best practices for
maintaining the 2007 Office system.

Config.xml element quick reference

The following table contains a list of the elements in
Config.xml. These elements can appear in any order, except for
Configuration, which must be
first, and elements such as Command,
whose order in Config.xml affects how they are processed during
installation.

How it works

Setup looks for a copy of Config.xml in the same folder as
Setup.exe. If a copy is not found there, Setup uses the Config.xml
file that resides in the core product folder for the product that
you are installing (if there are multiple products in the network
installation point, Setup waits until you specify which product to
install before it looks for the copy of Config.xml). The copy of
Config.xml residing in the product folder identifies the product
through the Product attribute of the Configuration element.

You can also use the /config Setup command-line option to
specify the location of the Config.xml file. For example:

Each Office product folder contains a default Config.xml file,
which consists of a Configuration element with the
Product attribute set to the appropriate value for the
product. A number of example elements enclosed in comments are
included within the Configuration element. Remove the
beginning and closing comment marks and enter the appropriate
attribute values to activate these elements.

Config.xml element reference

The following conventions are used in the descriptions in this
reference.

bold

Element or attribute name

normal

Text to be entered exactly as shown

italic

Placeholder for a value to be added

x|y

Choose between multiple values

[x]

Optional value

Configuration element

Top-level element. This element is required, and all other
elements must appear within this element.

Syntax

<Configuration
[Product="productID"] >

...

</Configuration>

Attributes

Attribute

Value

Description

Product

productID

The value of the ID attribute in the Setup element in the
setup.xml file for the product that is being installed

Remarks

The Product attribute identifies the product affected by
this Config.xml file. The productID is defined in the
Setup.xml file located in the core folder for the product, in the
ID attribute of the Setup element.

The Product attribute is optional, unless you set the
DisplayLevel attribute to
"Basic" or "None". In this case, the Product attribute is
required. If the product specified by the Product attribute
does not exist in the network installation point, Setup ends the
installation.

Example

The productID for Office Enterprise 2007 is located in
Enterprise.WW\Setup.xml in the following line:

Copy Code

<Setup Id="Enterprise" Type="Product" ... >

You use this productID in Config.xml to specify Office
Enterprise 2007 by entering the following:

Specifies the language for the shell user interface. If more
than one AddLanguage element is specified, then one (and
only one) language must specify the ShellTransform
element.

Remarks

The language must be available on the network installation
point.

You can have multiple AddLanguage and RemoveLanguage elements. If both
RemoveLanguage and
AddLanguage elements specify the same language, the
AddLanguage element takes precedence and the language is
installed.

Note:

If more than one AddLanguage element is specified, then
one (and only one) language must specify the ShellTransform
element or Setup ends the installation.

There are three different language concepts you should know
about when installing the 2007 Office system:

When there are multiple Office languages, these three values are
determined as follows:

By default, the Setup UI is dependent on the set of available
resources for installation and the ability to match the user
locale. The Setup UI will match the user locale by default. The
Shell UI depends on the set of languages being installed and by
default it follows the Setup UI. The default Office UI language
depends on the user locale and current user settings. The default
is to use the Windows user locale set on each user's computer. This
means that in the default case, the Setup UI, Shell UI, and Office
UI will all be the same.

A locale in the Windows operating systems is a set of
user preference information related to the user's language,
environment, and cultural conventions. This information is
represented as a list of values used to determine the correct input
language, keyboard layout, sorting order, and the formats used for
numbers, dates, currencies, and time. The user locale is a per user
setting that determines the formats used by default to display
dates, times, currency, and numbers, and the sorting order of text.
A user locale is specified for each account created on a
computer.

If an administrator specifies multiple languages for
installation in the Config.xml file, the shell UI language must be
chosen from the set of installing languages. To do this,
administrators specify the ShellTransform attribute of the
AddLanguage element in the Config.xml file. This specifies
which language Setup should use for the shell UI. However, this
will not necessarily affect the choice of Setup UI or Office UI
when installing on the user's computer.

For instance, if you have an Office image with English, French,
German, and Spanish, to specify that Setup install full language
support for all these languages and have the Shell UI follow the
user's default regional options, you add the following elements in
the Config.xml file:

In the preceding example, Setup installs all of the specified
languages and the Shell UI matches the language of the user's
locale. If there were more languages available in the source image,
the match value in the preceding example may install an
additional language in the case where the match language
does not resolve to one of the other four explicitly called out
languages. For instance, if Japanese was also included in the
source, this example would install Japanese in addition to the
other four languages when installed on a computer with the user
locale set to Japanese.

Example

Copy Code

<AddLanguage Id="en-us" ShellTransform="Yes" />

ARP element

Specifies values that control the text and behavior of Add or
Remove Programs in Control Panel for the product.

Syntax

<ARPattribute="value"
[attribute="value"] ...
/>

Attributes

Attribute

Value

Description

ARPCOMMENTS

text

Additional text. Can be up to 255 characters, though all
characters might not display.

ARPCONTACT

text

List of technical support contacts.

ARPNOMODIFY

Yes

Prevents users from modifying the product installation by making
the Change button unavailable.

No (default)

Allows user to modify the product installation.

ARPNOREMOVE

Yes

Prevents users from removing the product by making the
Remove button unavailable.

No (default)

Allows users to remove the product.

ARPURLINFOABOUT

URL

URL for the product's home page.

ARPURLUPDATEINFO

URL

URL for information about product updates.

ARPHELPLINK

URL

URL of a Web site from which users can receive technical
support.

ARPHELPTELEPHONE

text

Phone numbers for technical support.

CCP_DRIVE element

The fully qualified path to the folder that RMCCPSEARCH is to
search. The RMCCPSEARCH action uses file signatures to validate
that qualifying products are installed on a system before an
upgrade installation is performed.

Syntax

<CCP_DRIVE Value="value" />

Attributes

Attribute

Value

Description

Value

value

The fully qualified path to the folder that is to be searched by
RMCCPSEARCH

Example

Copy Code

<CCP_DRIVE Value="\\server\office2003" />

Command element

Specifies a command line to run. See the Remarks section
for more information.

Tip:

The equivalent option in the OCT is Add installations and run
programs.

Syntax

<Command

Path="path"

[QuietArg="arguments"]

[Args="args"]

[ChainPosition="Before" |
"After"(default)]

[Wait="mseconds"]

[Execute="Install"(default) |
"Uninstall"]

[Platform="x86"(default) |
"x64"]

/>

Attributes

The following table describes the Command element
attributes.

Attribute

Value

Description

Path

path

Fully qualified path of the executable file. If the path value
contains a space, you must use double quotes as shown in the
following example:

"\\server\share\Office 12\copylogs.bat"

QuietArg

string

String of arguments to be appended to the command line if you
configure a silent installation. For more information about when to
use the QuietArg attribute, see the Remarks section that follows this
table.

Args

string

String of arguments to be passed to the executable. For
information about when to use the Args attribute for chained
installations, see the Remarks section, following this
table.

If the value of the Args element includes quotation
marks, you can enclose the entire value in single (') quotes as
shown in the following example:

Args='"/param value"'

ChainPosition

Before

This command is executed before the primary product
installation.

After (default)

This command is executed after the primary product
installation.

Wait

mseconds

When you install a product with the DisplayLevel attribute set to "full"
or "basic", this is the number of milliseconds to wait after you
run the program before you continue the installation. The default
is 0 (zero), which indicates no waiting.

Execute

Install (default)

Setup executes this command when the primary product is
installed.

Uninstall

Setup executes this command when the primary product is
uninstalled.

Platform

x86 (default)

Specifies that this program requires the Intel x86 platform.
This command runs only if the computer on which the installation is
run matches this platform requirement.

x64

Specifies that this program requires a 64-bit processor that
supports the x64 extensions to the x86 architecture. This command
runs only if the computer on which the installation is run matches
this platform requirement.

Remarks

The Command element in the Config.xml file and the Add
installations and run programs option in the OCT (command-lines
entered in the Add Program Entry and Modify Program
Entry dialog boxes) are intended to be used only for initial
product installations and uninstallations. The Command
element commands are processed only during initial installations
and uninstallations. If Command element commands are used
for customizations after the initial installation, they are
ignored.

The command line can be specified to run an arbitrary command or
to run a lightweight executable that you want to run when this
product is installed.

The Command element in Config.xml and the Add
installations and run programs option in the OCT do not provide
the software deployment capabilities that an enterprise software
deployment and management tool provides, such as the ability to
track deployment progress and troubleshoot problems. Therefore, it
is recommended that you limit the use of Command element in
Config.xml and Add installations and run programs in the OCT
to running only lightweight executables or arbitrary commands that
will not make changes to the computer or that do not require user
input. For example, you can run a utility to copy logs or a command
to launch a Welcome page at the end of installation.

Important:

Chaining is not as reliable as installing each product
separately. For example, if you chain two installations together
and one of the products fails or encounters an unexpected error,
the primary installation and the chained installation might not be
completed successfully. Therefore, using the chaining approach is
not recommended. The recommended method for installing multiple
products together in enterprise environments is to use a deployment
management program, such as Microsoft System Center Configuration
Manager 2007 or Microsoft Systems Management Server (SMS) 2003, or
a third party tool, instead of chaining.

The use of Args and QuietArg is as follows:

The Args attribute is always appended to the command.
This can include switches such as "/install" or
"Company=MyCorporation".

The QuietArg attribute is also appended if setup is
running silently (with Display set as
Display="none"). In such cases, you can specify the
QuietArg attribute with the "/quiet" switch, for
example, you can use: QuietArg="/quiet".

The following statements apply to the Wait attribute:

Setting the Wait attribute to 0 milliseconds indicates no
waiting after you run the program before you continue the
installation; the command will execute and move on immediately.

Return codes are only respected if the Wait value is
nonzero. If you specify 0, Setup will not wait to continue the
installation after running the specified program; therefore, there
is no return code to report in that case.

Setting the Wait attribute to any positive nonzero value
will wait exactly the number of milliseconds you specify. If the
process ends earlier than the specified time, setup will continue.
If the process has not ended when the specified time is up, setup
will fail.

Setting the Wait attribute to -1 indicates to wait
indefinitely. This can be problematic because if the command
process stops responding (hangs), setup will stop responding and
will wait indefinitely for the command to run.

If there are two or more Command elements in the
Config.xml file, they run in the order in which they are specified
in Config.xml.

Only applies if Level is set to "Basic" or "None": Setup
displays the completion notice.

No (default)

Only applies if Level is set to "Basic": Setup does not
display the completion notice.

SuppressModal

Yes

Only applies if Level is set to "Basic": Setup does not
display error messages and other dialog boxes that might interrupt
the installation.

No (default)

Only applies if Level is set to "Basic": Setup displays
errors and other dialog boxes as needed.

NoCancel

Yes

If Level is set to "Full" or "Basic", disable the cancel
button (X in upper-right corner of the progress dialog).

No (default)

If Level is set to "Full" or "Basic", allow the user to
cancel the installation from the progress bar.

AcceptEULA

Yes

The End-User License Agreement is accepted on behalf of the
user. Setup does not display the EULA page.

No (default)

If Level is not set to "None", Setup displays the EULA
page.

Remarks

If this element is not defined, the default settings are used.
If an invalid value is specified, Setup ends the installation.

If the Level attribute is set to "Basic" or "None" and
you supply a product key using the PIDKEY element, Setup assumes that you also
accept the license agreement on behalf of the user.

Note:

In enterprise deployments, it is recommended that you set the
Display level value to none to direct Setup to run a
silent install, to prevent prompting users to enter information,
and to prevent the installation from waiting for any user
interaction, including when files are in use. Setting the
Display Level value to none assumes that the
SuppressModal and CompletionNotice attributes are
silenced and that the end-user license agreement (EULA) is
accepted. Administrators must also make sure that no Office
applications are running during an installation of the 2007 Office
system.

If you set the Display level value to basic and
SuppressModal to yes, users may be prompted if any
Office files are in use. Setting Display level to
none prevents prompting users in such cases. The
SuppressModal attribute does not prevent files in use
messages from displaying; only Display level set to
none prevents their display.

The Display element is used by Setup only if Setup finds
the Config.xml file in the same folder as setup.exe, or if you
specify the Config.xml file by using the Setup /config
command-line option. If Setup uses the Config.xml file in the
product folder, then Setup uses the default display options.

Example

Copy Code

<Display Level="none" AcceptEula="Yes" />

DistributionPoint element

Specifies the fully qualified path to the network installation
point from which the installation is to run.

Syntax

<DistributionPoint Location="path"
/>

Attributes

Attribute

Value

Description

Location

path

The fully qualified path to the network installation point from
which the installation is to run

Remarks

If this is not specified, then Setup assumes that the
Setup.exe file is located at the root of the network
installation point.

Note:

The DistributionPoint element is used by Setup only if
Setup finds the Config.xml file in the same folder as setup.exe, or
if you specify the Config.xml file using the Setup /config
command-line option. If Setup uses the Config.xml file in the
product folder, it ignores this element because the network
installation point has already been found.

Example

Copy Code

<DistributionPoint Location="\\server1\office" />

INSTALLLOCATION element

Specifies the fully qualified path to the folder on the user's
computer in which the product is installed.

Tip:

The equivalent option in the OCT is the Default installation
path setting in Installation location and organization
name.

Syntax

<INSTALLLOCATION Value="path"
/>

Attributes

Attribute

Value

Description

Value

path

The fully qualified path to the folder on the user's computer in
which the product is installed.

Remarks

You can use system environment variables in the path. If this
element is not specified, Office is installed in
%ProgramFiles%\Microsoft Office.

Example

Copy Code

<INSTALLLOCATION VALUE="%ProgramFiles%\MyApps" />

LIS element

Controls how the local installation source (LIS) is cached on
the user's computer and specifies the location of one or more
network installation points that contain the installation files for
the product.

Syntax

<LIS

[CACHEACTION="CacheOnly" | "RemoveCacheOnly"]

[SOURCELIST="semicolon-delimited-path-list"]

/>

Attributes

Attribute

Value

Description

CACHEACTION

CacheOnly

Setup copies the LIS to the user's computer, but does not
install the product.

RemoveCacheOnly

If the cache is copied to the user's computer and Office is not
installed, Setup removes the LIS from the user's computer but does
not install or uninstall the product.

SOURCELIST

semicolon-delimited-path-list

A list, separated by semicolons, of one or more network
installation points that contain the installation files for the
product.

The equivalent option in the OCT is Additional network
sources.

Remarks

By default, the LIS is created in the folder \MsoCache\All
Users at the root of the drive into which Office is installed.
Setup customization files and software updates in the Updates
folder in the network installation point are also copied.

If you specify INSTALLLOCATION, the drive
designation in the path is used to determine on what drive the LIS
is created. For example, if the INSTALLLOCATION path is
E:\office\files, the LIS is created on drive E. The sources
listed by the SOURCELIST attribute are kept with the installed
product and are used by Setup if the local installation source
(LIS) on the user's computer is missing or corrupted.

Attributes

The fully qualified path to the folder used for the log file.
You can use environment variables. Default is %temp%.

Template

filename.txt

The name of the log file. If you insert the string * anywhere in
the file name, a unique log file is created for each installation
performed by Setup.exe (see the explanation below). If * is not
included and the file name specified already exists, log
information is appended to the existing file. The .txt file
extension must be included. The default template is
SetupExe(*).log.

Remarks

You can specify a * anywhere in the Template value. Setup
inserts a string in that location with the following format:

YYYYMMDDHHMMSSxxx

where:

YYYY = Year

MM = Month

DD = Day

HH = Hour

MM = Minute

SS = Seconds

xxx = a unique string generated by Setup

Note:

The Logging element is used by Setup only if Setup finds
the Config.xml file in the same folder as setup.exe, or if you
specify the Config.xml file using the Setup /config
command-line option. If Setup uses the Config.xml file in the
product folder, then Setup uses the default logging options.

Example

Copy Code

<Logging Type="standard" Path="%temp%"
Template="MyLog(*).txt"
/>

With this example, Setup creates a log file each time it
installs the product. Setup uses unique file names such as the
following:

Remarks

Setup does not proceed with the installation if the user's
computer has an operating system with a version earlier than what
is specified here (or the Office default if this element is not
specified). You cannot specify a version of Microsoft Windows here
that is earlier than the version required by the 2007 Office
system.

Syntax

Attributes

Remarks

When the PIDKEY value is set, users are not required to
enter a product key when they install Office.

Example

Copy Code

<PIDKEY Value="1234512345123451234512345" />

Note:

If the Level attribute of the Display element is set to "Basic" or "None"
and you supply a product key using the PIDKEY element, Setup
assumes that you also accept the license agreement on behalf of the
user. In this case, regardless of how you set the AcceptEULA
attribute of the Display element, the
user is not prompted for the license agreement either during
installation or the first time an Office application runs.

Syntax

Attributes

Remarks

If the language is not installed on the user's computer, the
RemoveLanguage element is ignored.

You can have multiple AddLanguage and RemoveLanguage
elements. If both RemoveLanguage and AddLanguage elements specify the same
language, the AddLanguage element
takes precedence and the language is installed.

Setting element

Syntax

<Setting Id="name" Value="value" />

Attributes

Attribute

Value

Description

Id

name

The name of the Windows Installer property

Value

value

The value to assign to the property

Remarks

Not all Windows Installer properties can be specified in the
Setting element. If a blocked property is specified, Setup
ends the installation process. If a supported property is
specified, Setup passes the property directly to Windows Installer.
For a complete list of Windows Installer properties, including an
explanation of supported and blocked properties, see Setup properties in the
2007 Office system.

The Setting element supports the REMOVEPREVIOUS
setting. This setting removes the specified application from the
installation and uses the following syntax:

<Setting Id="REMOVEPREVIOUS" Value="Option Id"
/>

where Option Id is the identifier value for the 2007
Office system application. To specify multiple applications, use a
comma-separated list to indicate the appropriate Option Id
values. For a complete list of Option Id values, see
Config.xml file
OptionState Id values.

Note:

If you are installing Outlook, a previously installed version of
Outlook is always removed, regardless of the user's preference.

If you specify REMOVEPREVIOUS with an Option Id
value, only the specified applications are removed.

If you do not specify REMOVEPREVIOUS, any previously
installed Office applications for which a replacement is being
installed are removed. This is the default behavior.

If you specify REMOVEPREVIOUS with a blank value
(REMOVEPREVIOUS=""), no applications are removed.

The Setting element also supports the SETUP_REBOOT
property. SETUP_REBOOT initiates a reboot after installation
and uses the following syntax:

<Setting Id="SETUP_REBOOT" Value="value"
/>

where value can be one of the following:

AutoAlways--Always initiate a reboot. Do not prompt the
user.

Always--Always prompt for a reboot at the end of
setup.

IfNeeded--Prompt for a reboot at the end of setup if
setup requires a reboot. (Default)

AutoIfNeeded--Initiate a reboot if setup requires a
reboot. Do not prompt the user.

Attributes

Setup does not search for Setup customization files using the
path list in SUpdateLocation.

SUpdateLocation

path-list

A list of fully qualified paths to folders, separated by
semicolons.

Remarks

Setup looks in all the specified folders for Setup customization
files that were created for the product that is being installed,
and applies them in alphabetical order by file name. If a Setup
customization file was specified on the Setup command line, that
file is applied first, followed by any files found in the folder
specified by this element.

Example

USERINITIALS element

The initials of the user on whose computer the product is being
installed.

Syntax

<USERINITIALS Value="value" />

Attributes

Attribute

Value

Description

Value

value

The user's initials

Example

Copy Code

<USERINITIALS Value="JD" />

USERNAME element

The name of the user on whose computer the product is being
installed.

Syntax

<USERNAME Value="value" />

Attributes

Attribute

Value

Description

Value

value

The user's name.

Remarks

The Office 2007 Username element data is populated as
follows.

If the user who is running Office is the same user who installed
Office, the Username and Initials supplied during
setup are used. The user is not prompted when Office first
starts. This case is most popular for home users who install Office
themselves.

If the user who is running Office is not the same user
who installed Office, Office prompts the user to confirm his or her
Username and Initials when Office first starts. This
case is most popular in a corporate environment, where an
administrator installs Office on behalf of the user.

The value for the Username element shown to the user at
first boot time may be pre-populated with a default value from a
previously installed version of Office or from the currently logged
on user. Note that the default value is not used unless it
is confirmed by the user. If there is a previous version of Office
installed on the computer, the registry key created by the previous
version of Office is used. For example, if the prior Office
installation is Office 2003, the registry key is provided at
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\UserInfo.

Example

Copy Code

<USERNAME Value="John Doe" />

Sample Config.xml file

The following example shows a Config.xml file for a typical
installation. The example uses the Microsoft Office Enterprise 2007
version of the product.

Note:

The shipped version of this file used Command
Path="msiexec.exe". The following example uses the full path
to the msiexec.exe file:

Command Path="%WINDIR%\system32\msiexec.exe"

where %WINDIR% is the folder containing the Windows files. You
must include the full path to run the command, otherwise it
fails.