<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="../make-menu.xsl" type="text/xsl"?><html>
   <head>
      <this-is section="about" page="installationdotnet" subpage=""/>
      <!--
           Generated at 2011-12-09T20:47:22.916Z--><title>Saxonica: XSLT and XQuery Processing: Installation: .NET platform</title>
      <meta name="coverage" content="Worldwide"/>
      <meta name="copyright" content="Copyright Saxonica Ltd"/>
      <meta name="title"
            content="Saxonica: XSLT and XQuery Processing: Installation: .NET platform"/>
      <meta name="robots" content="noindex,nofollow"/>
      <link rel="stylesheet" href="../saxondocs.css" type="text/css"/>
   </head>
   <body class="main">
      <h1>Installation: .NET platform</h1>
      <p>This section explains in more detail how to install Saxon on the .NET platform.</p>
      <div class="boxed"
           style="border: solid thin; background-color: #B1CCC7; padding: 2px">The source code of Saxon is written in Java. The version of the product that runs on the .NET platform
has been produced by cross-compiling the Java bytecode into CIL code, which is then packaged as a
.NET assembly. The cross-compiler is the open-source <a href="http://www.ikvm.net/" class="bodylink">IKVMC</a> product. 
The code of course makes many calls on classes provided by the Java run-time library. On the
.NET platform, most of these are provided by the OpenJDK product: Saxon comes with a version of
the OpenJDK library, itself cross-compiled as a .NET assembly. Other run-time services are obtained
from the .NET platform itself. These include XML parsing, handling of URI resolution, and internationalized
collation support. </div>
      <p>For more information about Saxon on the .NET platform, see <a class="bodylink" href="../dotnet/intro.xml">Saxon on .NET</a>.</p>
      <p class="subhead">Prerequisites: .NET platform</p>
      <p>The following software must be installed separately, it is not included with the Saxon download.</p>
      <ul>
         <li content="para">
            <p>To run Saxon you need to install the .NET platform, version 2.0 or later.</p>
         </li>
      </ul>
      <p>Because Saxon is run from the command line, you might find it useful (under Microsoft Windows)
 to have a text editor
with better command-line support than the standard DOS window. 
I use <a href="http://www.ultraedit.com" class="bodylink">UltraEdit</a>.</p>
      <p class="subhead">Installing the software</p>
      <p>The software is issued in the form of a .exe file containing an installation wizard: all you need to do
            is to run it, answering simple prompts such as the directory in which you want it installed.</p>
      <p>The main components
are as follows:</p>
      <table>
         <thead>
            <tr>
               <td content="para">
                  <p>
                     <b>File</b>
                  </p>
               </td>
               <td content="para">
                  <p>
                     <b>Contents</b>
                  </p>
               </td>
            </tr>
         </thead>
         <tbody>
            <tr>
               <td content="para">
                  <p>saxon9he.dll, saxon9pe.dll or saxon9ee.dll</p>
               </td>
               <td content="para">
                  <p>The Saxon library for Home Edition, Professional Edition, or Enterprise Edition</p>
               </td>
            </tr>
            <tr>
               <td content="para">
                  <p>saxon9he-api.dll, saxon9pe-api.dll, saxon9ee-api.dll</p>
               </td>
               <td content="para">
                  <p>The classes implementing Saxon's .NET API. The three DLLs are identical except
    that they contain references to the appropriate version of the main Saxon DLL.</p>
               </td>
            </tr>
            <tr>
               <td content="para">
                  <p>Transform.exe</p>
               </td>
               <td content="para">
                  <p>Command line entry-point for XSLT transformation</p>
               </td>
            </tr>
            <tr>
               <td content="para">
                  <p>Query.exe</p>
               </td>
               <td content="para">
                  <p>Command line entry-point for XQuery evaluation</p>
               </td>
            </tr>
            <tr>
               <td content="para">
                  <p>Validate.exe</p>
               </td>
               <td content="para">
                  <p>(Saxon-EE only) Command line entry-point for XML Schema validation</p>
               </td>
            </tr>
            <tr>
               <td content="para">
                  <p>IKVM.Runtime.dll</p>
               </td>
               <td content="para">
                  <p>Run-time library for the IKVM cross-compiler</p>
               </td>
            </tr>
            <tr>
               <td content="para">
                  <p>IKVM.OpenJDK.XXXX.dll</p>
               </td>
               <td content="para">
                  <p>A number of DLL files containing parts of the Java OpenJDK class library cross-compiled to .NET</p>
               </td>
            </tr>
         </tbody>
      </table>
      <p>These files will typically be found in a folder with a name such as <code>c:\Program Files\Saxonica\SaxonHE9.3N\bin</code></p>
      <p>You may find it useful to add this directory to the <code>PATH</code> environment variable.
This enables you to use the commands <code>Transform</code>, <code>Query</code>, and <code>Validate</code> without
identifying their location explicitly.</p>
      <p class="subhead">Obtaining a license key</p>
      <p>The open-source Saxon-HE product does not require any license key. For Saxon-PE and Saxon-EE, however,
you need to obtain a license key from Saxonica. You can order a free license key for a 30-day
evaluation, or purchase an unrestricted license key from the <a href="http://www.saxonica.com/" class="bodylink">Saxonica</a>
web site.</p>
      <p>Since Saxon 9.2 license keys have been compatible between the Java and .NET platforms.</p>
      <p>The license key will arrive in the form of a file named <code>saxon-license.lic</code> attached
to an email message. Copy the file into the <code>/bin</code> directory containing the Saxon
DLLs, for example <code>c:\Program Files\Saxonica\SaxonEE9.3N\bin</code></p>
      <p>If you acquire Saxon-PE or Saxon-EE as a component of an application with which it has been integrated, the
application may activate the software automatically using an OEM license key. In this case you do
not need to acquire an individual license key of your own.</p>
      <p class="subhead">Sample applications</p>
      <p>Saxon on .NET is distributed with a number of sample applications. These are issued 
(together with Saxon-HE source
code and documentation) in a separate download file <code>saxon-resources9-n.zip</code>, available
from both the SourceForge and Saxonica web sites. Once this is unzipped, the sample applications
can be found in the directory <code>/samples</code>. They are described <a class="bodylink" href="../samples/intro.xml">here</a>.</p>
      <p>Many of the samples are equally applicable to the Java and .NET platforms. However, there are several
programs in the <code>/samples/cs</code> directory that are specifically designed to illustrate ways of
using the <code>Saxon.Api</code> interface. This interface is exclusive to the .NET product, and is
described in more detail in <a class="bodylink" href="../dotnet/dotnetapi.xml">Saxon API for .NET</a>.
These sample applications are described in 
<a class="bodylink" href="../samples/dotnetsamples.xml">Example applications for .NET</a>.</p>
      <table width="100%">
         <tr>
            <td>
               <p align="right"><a class="nav" href="historical.xml">Next</a></p>
            </td>
         </tr>
      </table>
   </body>
</html>