2 Getting Started

This chapter describes getting started with the Viewer for ActiveX. The Outside In Viewer for ActiveX control provides developers of container-aware applications the ability to view and print documents of varying types from within their own application.

This is the same technology that is provided through the Outside In Viewer Technology API.

This chapter includes the following sections:

2.1 Installation and System Requirements

In order for applications to use this control, the control must be installed on each workstation on which the application is to run.

This product requires the Visual C++ libraries included in the Visual C++ Redistributable Package available from Microsoft. There is a version of this package for the appropriate platform (x86 or x64) version of Windows. This can be downloaded from www.microsoft.com, by searching on the site for the following package:

  • vcredist_x86.exe, or

  • vcredist_x64.exe

The required download version is the "Visual C++ Redistributable Packages for Visual Studio 2013."

Oracle Outside In requires the msvcr120.dll redistributable module.

C++.NET sample applications require Visual Studio 2013 SP1 C-runtime libraries.

MFC applications require MFC 4.2 runtime libraries.

The system requirements for this product are as follows:

Requirement Value

Disk Space

18 Mb


Intel 486 or higher

Operating System

Microsoft Windows 2000 or newer




Visual C++12.0

2.1.1 NSF Support

Notes Storage Format (NSF) files are produced by the Lotus Notes Client or the Lotus Domino server. The NSF filter is the only Outside In filter that requires the native application to be present to filter the input documents. Due to integration with an outside application, NSF support will not work with redirected I/O nor will it work when an NSF file is embedded in another file. Either Lotus Notes version 8 or Lotus Domino version 8 must be installed on the same machine as OIT. A 32-bit version of the Lotus software must be used if you are using a 32-bit version of OIT. A 64-bit version of the Lotus software must be used if you are using a 64-bit version of OIT. SysLotusNotesPath should be set to the directory containing the nnotes.dll. NSF support is only available on the Win32 and Win x86-64 platforms.

2.1.2 Options and Information Storage

The technology creates two sets of information: the default options, and a list of available display engines. In the Windows implementations, these lists are built by the technology as needed, usually the first time ActiveX is run. You do not need to ship these lists with your application. The lists are automatically regenerated if corrupted or deleted.

The files used to store this information are stored in a .oit subdirectory in the following location:

\documents and settings\user name\Application Data

If an .oit directory does not exist in the user's directory, the directory is created automatically by the technology. The files are automatically regenerated if corrupted or deleted.

The files are:

  • Display engine lists: *.d

  • Persistent options:*.opt

These file names are intended to be unique enough to avoid conflict for any combination of machine name and install directory. This allows the user to run products in separate directories without having to reload the files above. The file names are built from an 11-character string derived from the directory the Outside In technology resides in and the name of the machine it is being run on. The string is generated by code derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm.

2.1.3 Getting Started With Visual C++


If you are building 64-bit applications using a 32 bit IDE, you need to install the 32–bit control. 32-bit IDEs look for the 32–bit ActiveX control at compile time to create the callable wrapper for the component. Alternatively, you could create interop assembly for the control by running the tool TlbImp. More instructions on this tool and using the generated interop assembly can be found on MSDN.

To install the ActiveX control into the Microsoft Visual C++ 12.0 developers' environment:

  1. Start Visual C++.
  2. Open an Existing workspace or select a New workspace.
  3. From the Project menu, select Add to Project then Components and Controls.
  4. Open the Registered ActiveX Controls folder.
  5. Select the ActiveX control and click Insert.

2.1.4 Getting Started with .NET Applications


If you are building 64-bit applications using a 32 bit IDE, you need to install the 32–bit control. 32-bit IDEs look for the 32–bit ActiveX control at compile time to create the callable wrapper for the component. Alternatively, you could create interop assembly for the control by running the tool TlbImp. More instructions on this tool and using the generated interop assembly can be found on MSDN.

To install the ActiveX control into the .NET developers' environment:

  1. Start Visual Studio.
  2. Open an Existing project or select a New project.
  3. From the toolbox tab, select Choose Items.
  4. Select the COM Components tab and select the ActiveX Control.
  5. Select the ActiveX control and drop it on the dialog box.

2.2 Installing the ActiveX Control as Part of Your Application

Please do not ship the development installation package. Instead, add the following tasks to the installer for your application:

  1. Copy the Filters directory onto the target machine.
  2. Create a registry key for your application:
    HKEY_LOCAL_MACHINE\Software\OIX\executable name

    To minimize the chance of conflicts with other installations, the key name should be specified as a full path to your executable, with forward slashes for path separators.


    Versions of this control prior to 8.3.5 had the default location of the FilterPath entry as HKLM\Software\OIX\OutsideX. Versions 8.3.7 and beyond will be using the HKLM\Software\OIX\OutsideX\{CLSID of control}\FilterPath. For the current version, the CLSID is {FD3E9C51-C103-49B6-87A6-EA40A060A1F5}. If you cannot or do not use a unique FilterPath, then use this default value when installing the ActiveX product with your application.

  3. Create a string value in that registry key with the name "FilterPath," whose value is the full path to the filters directory on the target machine.
  4. Copy the outsidex854.ocx to the \system directory.
  5. Register the outsidex854.ocx control.


    Starting with the 8.3.7 release of Outside In Technology, the control has been branded with a new GUID/CLSID every time the API changes. This would require a rebuild of your application (after changing references to the new control and this varies from development environment to environment) to use this control.

The specific steps necessary to accomplish these tasks depend on the installer software you are using. However, if you are creating your own installer; you can register the outsidex854.ocx by calling regsvr32.exe outsidex854.ocx. Regsvr32.exe is also located in the System directory.


Versions of this control prior to 8.2.0 stored the filter path in a particular location in the system registry, even if multiple versions of the control were installed in different locations on the same system. Therefore only the last copy of the control installed on the system had access to its correct configuration information. Any other copy on the same system could experience errors or incompatibilities at runtime. Steps 2 and 3 above now enable multiple copies of the control to co-exist peacefully on the same system. Steps 2 and 3 can be skipped if the application will be responding to the GetTechPath event to provide the filter location.

The following is an example of a .reg file entry for registering the filter path:

[HKEY_LOCAL_MACHINE\SOFTWARE\OIX\c:/Program Files/App/myapp.exe]
"FilterPath"="c:\\Program Files\\App\\OIX\\Filters"

2.3 Libraries and Structure

The Outside In Technology modules have been renamed from previous versions by appending the version number. This is to prevent conflicts in applications required to run multiple versions of the technology simultaneously. We recommend that the previous version of the modules be removed before installing the update. If multiple versions are found in the technology directory, the latest version will be used.

Here is an overview of the files contained in the main installation directory for this product.


These DLLs implement the API. They should be linked with the developer's application. LIB files are included in the SDK.

File Description


Interface to native GDI implementation (oswin32.dll is the module for Windows 32-bit implementation, and oswin64.dll is the module for Windows 64-bit implementation)


Outside In module installed in the System directory for Windows 32-bit and 64-bit implementation.


Content Access module (provides organized chunker data for the developer)


Annotation module


Chunker (provides caching of and access to filter data for the display engine)


Data Access module


Display Utilities module (includes text formatting)


Filter Access module


File Identification module (identifies files based on their contents). The File ID Specification may not be used directly by any application or workflow without it being separately licensed expressly for that purpose.


Formatting module (resolves numbers to formatted strings)


Font utility module


Font services module


Filter utility module


Indexing engine


Localization library (all strings, menus, dialogs and dialog procedures reside here)


OLE rendering module


Schema Definition Module Manager (brokers multiple Schema Definition Modules)


Text Access module (provides straight text data for the developer)


Utility functions (including IO subsystem)


Viewer module (this is the DLL that your application loads, providing control of all viewer functions)


XTree module


The GDI Abstraction layer

Display Engine DLLs

File Description


Bitmap (TIFF, GIF, BMP, PCX…)




Vector/Presentation (PowerPoint, Impress, Freelance…)


Spreadsheet/Database (Excel, Calc, Lotus 123…)


Archive (ZIP, GZIP, TAR…)


Document (Word, Writer, WordPerfect…)

Filter and Export Filter Libraries

File Description


Filters for specific file types (there are more than 150 of these filters, covering more than 600 file formats)

Premier Graphics Filters

File Description


Import filters for premier graphics formats


Interface to premier graphics filters

Additional Files

File Description


Support file for the vsacad filter


Tables for character mapping (all character sets)


Support file for the vsnsf filter


Database with font information

2.4 Samples Overview

This SDK includes several sample applications that demonstrate the use of various features of the ActiveX control. Various samples are provided that were created with Visual C++ 12.0.

The following applications were created in Microsoft Visual Studio 2013. The following .Net sample applications are provided: SimpleCS, SearchAnnoCS, SimpleVB, SearchAnnoVB, SimpleCPP, and SearchAnnoCPP.