XPS is the fixed format document technology that ships in Windows Presentation Foundation. It’s a specification for a subset of XAML that can describe the layout and form of one or more printed pages, and is intended for allowing applications to generate content both for printing and sharing in soft copy form.
XPS is included as part of the WinFX Runtime Components, both as a managed API for creating fixed format documents (the System.Windows.Xps namespace) and as a viewer application that enables you to see the generated output. Here’s a sample XPS document that you can open if you have the WinFX Runtime Components Feb CTP installed. We also have a printer driver that enables you to take any application and “print to XPS”, regardless of whether the application is aware of XPS natively. (The 2007 Office System applications also ave the ability to save to XPS built into the application).
Today we released another way to get hold of XPS beyond the WinFX Runtime Components: the first beta of the XPS Essentials Pack. This provides an alternative unmanaged viewer for XPS documents that works downlevel on machines that aren’t able to run the WinFX Runtime Components (e.g. Windows 2000, Windows XP versions prior to Service Pack 2). The package also includes a preview handler for XPS (so you can view documents from within Outlook 2007 and the Windows Vista shell without having to open up a full standalone application) as well as an IFilter add-in (so that client search engines such as Windows Desktop Search can index any XPS documents you have on your system). It’s tiny too – small enough to fit on a floppy disk, if you still remember such things!
The XPS Essentials Pack co-exists with the WinFX Runtime Components; in fact, it’s worth installing even on a machine with the rest of WinFX just for the preview handler and IFilter stuff. However, unfortunately the current Beta package doesn’t support Windows Vista because of interactions between the setup installer and some of the operating system components it installs; we’ll make a later build available to support Windows Vista in due course.