MICROSOFT CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, OR ACCURACY OF THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN. ALL SUCH INFORMATION AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, TITLE AND NON-INFRINGEMENT. YOU SPECIFICALLY AGREE THAT IN NO EVENT SHALL MICROSOFT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OF OR INABILITY TO USE THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IF MICROSOFT OR ANY OF ITS SUPPLIERS HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES.
The new rules allow for one computer to share its installed O.W.C. interactive license with an unlimited number of computers giving these computers the capability to experience an interactive O.W.C. application even though these computers do not have a qualifying Microsoft product or a valid license installed. You may recall that static, non-interactive use of the Office Web Components is always free for versions 10 thru 11 of the O.W.C. but interactive usage requires a license. Licensing information for the components can be found on the Microsoft Office website and in Community solutions article – 555075 in sufficient detail. The new licensing rules do not apply to O.W.C. version 9 and will not be considered here. The new licensing terms do have serious restrictions and these will be examined here.
Examining the new rules
Interactivity can be extended thru shared licensing. There are some overriding qualifications and conditions which regulate its use. A shared license may only be extended to another desktop if there is explicit intent thru policy or otherwise to install a qualifying product at a later date. This option is only extended to business entities that own an Enterprise, Select, or Maintenance Agreement for Microsoft Office. As an example, let’s consider a corporate intranet scenario where an application developed with the O.W.C. needs to be deployed in an interactive manner. The corporate entity fully intends to install qualifying products such as Microsoft Excel on all desktops and possesses an Enterprise level agreement. The installation forms part of the new corporate policy to upgrade all Microsoft Excel software to the most recent version. Let’s assume further, that the company is fairly large so that the roll out will take a significant amount of time and will be done in phases. In this case, the corporate entity has the option to use shared licensing to allow users who aren’t yet part of the roll out to participate in a full interactive experience.
For Independent Software Vendors, the licensing requirements are the same. The rule of thumbs to use is: Does a formal Enterprise, Select, or Maintenance agreement exist? Can the business entity guarantee thru policy or otherwise that every computer will eventually install a qualifying product?
Because of the nature of the ISV business, most ISV's cannot make that guarantee. Rather than leaving your business entity open to litigation, you should use the O.W.C. in a non-interactive manner. Remember, non-interactive usage is always free and requires none of the above qualifying conditions. It does require installation of the Office Web Components. Shared licensing is best suited for intranet scenarios and mostly apply to corporate settings for the previously stated reasons.
HOW TO: implement shared licensing
Shared licensing is implemented thru a special file called the License Package File (LPK). The LPK is implemented using an License Package Authoring Tool which is a free utility provided by Microsoft available on the Microsoft website or . A discussion on how to use the LPK Tool is provided in the documentation which comes with the tool and will not be provided here. This license file allows one computer with a valid installation of the O.W.C. and a qualifying product such as Microsoft Excel or valid O.W.C. license to share its valid license with another client computer in a temporary manner. This special licensing file or LPK must be placed on the server serving the web pages which contain the O.W.C. component. The path to this file is exposed to the browser thru a special parameter inside an object manager tag. Usually, the developer writing the application hard codes the object manager inside the web page using the special object tag. The object manager tag must be the first tag inside the web page and it may not be customized with attributes such as width and back color for example. Consider an O.W.C. object manager embedded in a webpage which may look like the following:
At run-time the hosting container, usually a browser, examines this object tag embedded in the webpage. The browser extracts the path and attempts to find the LPK file pointed to by the path. The path variable is relative and the value name should not be changed. Failure to find this path results in view-only mode use. If the file is found, it is parsed to retrieve a special key which is used as a hash into the permissions manager. A successful hash value results in an O.W.C. component able to render in interactive mode, otherwise, the component renders in view-only mode. Observe that the LPK file is the instrument used to grant interactive use so the necessary precautions should be taken to secure the contents of the LPK file on the server.
The implications of these rule changes are subtle but very important. Notice that interactivity no longer depends on a qualifying Microsoft Office product installed on the computer. The license object manager now has the option to retrieve a valid client license from the server and share it with the requesting client to allow interactivity. This retrieval is automatic and occurs when a hosting container detects that the webpage contains an embedded object manager. The hosting container takes care of the permissions request and passes the license key obtained from the LPK file to the license manager for authentication.
It’s important to point out that if the object tag is tampered with, the licensing hash will fail and only render in view-only mode. A number of view-only problems can be resolved simply by verifying that the CLASSID is correct and that the path pointed to is valid. Visual studio contains an annoying bug which will remove the path variable from the object manager tag resulting in non-interactive use any time the aspx file is changed. Remember that the default mode is view-only or non-interactivity for versions 10 and 11 of the Office Web Components.
Hopefully, this article has shed some light on interactive usage for the O.W.C.. For qualifying products which install a valid O.W.C. license, please consult the Microsoft office website.