Site Versioning and Upgrade

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

A key feature of upgrading is to know the current state of a site, which is provided through site versioning. To facilitate site query and performance, Microsoft Windows SharePoint Services stores the version number as two integers in the database: a product version and a schema version.

Windows SharePoint Services assigns legacy sites a product version of 2 and a minor version of 0.

Product Version

A product version is a single integer that represents the last SharePoint version in which a site was created or upgraded to. Windows SharePoint Services supports only two product versions for upgrade: 2 specifies that the site was upgraded from a site created in the previous version, while 12 specifies that the site was created through the new version.

The setup path for a site is keyed off the product version. If the product version is 2, SharePoint uses the \web server extensions\60 path. If the product version is 12, it uses the \web server extensions\12 path.

Schema Version

In addition to a product version, Windows SharePoint Services also maintains a schema version for the site. The schema version is an arbitrary incremental integer that SharePoint tracks. This number can be incremented by developers any time they make a significant enough change to a site definition to require using an upgrade template. The schema version is determined by the owner of the site definition.

The latest known version of schema version for a site definition is stored in a site definition file. Windows SharePoint Services provides powerful facilities to update a site template over time, which makes it tempting to use an upgrade as a way to deploy new abilities to a site. However, if you invent your own schema version and modify how a site functions, it will make future upgrade of the site by the original creator of the site version impossible.

The only way to increment the product version and/or schema version for an existing Web site is to create a site upgrade definition. In other words, you can have an STS site definition with a ProductVersion attribute that specifies 12 and a SchemaVersion attribute that specifies 150, and yet have functioning Web sites that use the STS site definition where ProductVersion = 2 and SchemaVersion = 100. The STS definition may not have been upgraded because an upgrade definition does not exist, or because the Web site has not been upgraded yet.

In a build-to-build upgrade, the product version remains the same, but the schema version is incremented between builds.