Registering DLLs in COM with WiX for creating an MSI installation package for a Kofax Custom Panel

I was working on a project recently for a customer that was upgrading their Kofax versions and making some enhancements to a custom Kofax panel that we had written for them some time ago. Like any good developer, I migrated the code for the custom panel to the latest version of Visual Studio I had, (in this case, Visual Studio 2012). I had finished development and was discussing installation when the customer requested an MSI package to install the custom panel. Unbeknownst to me, Visual Studio 2012 had dropped their support for the easy, drag and drop, built in set up and deployment project to create MSI’s.

In doing some research, I found many developers had migrated to using the open source WiX product to create MSI packages, (http://wix.codeplex.com/). One can download WiX and integrate it directly into Visual Studio. Everything was fairly straight forward on following their tutorials except for one snag: in order to get the custom Kofax panel to install correctly, I had to register the custom DLLs as COM Components, not in the GAC. After a lot of head scratching, I finally figured out that I could use Heat (one of the WiX tools) to create a registry file of the DLLs to include in my WiX set up project. You can find out more about Heat here: http://wixtoolset.org/documentation/manual/v3/overview/heat.html. After the file was generated I was able to take the output of the Heat generated file and include it in my WiX install project to register the necessary DLLs. To do this, I followed these steps: Continue reading

How to troubleshoot SQL error [3566] & open applications in Kofax 10

I recently worked with a customer who was receiving the error below on a Client/Server installation with a standalone SQL instance (not built-in):

[3566] KdoLib: Network I/O error: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (Provider: SQL Network Interfaces, error: 26 – Error Locating Server/Instance Specified) (-1)

After performing a clean install of Kofax 10 on a new workstation, they were unable to open Batch Manager, Administration, etc. The process could be seen in Task Manager, but the window would not open, and after about 20 minutes would show the error above.

To resolve this we first tested the connection to the SQL server using a .udl file. This can be done by creating a blank text file, then renaming the extension to .udl.

Open this new Data Link and fill in the fields for your SQL server and test the connection. If you do not get a success, verify that your server name, login, firewall, etc. are configured properly to access the server. Continue reading

Oracle BPM 11g Install for a Development Environment

Who is finally ready to get off their laurels and start looking at Oracle BPM 11g? I knew I was, the question I had was: where do I start? I figured the best place to start would be to actually install the software. A special thanks to one of our Systems Engineer, Les Harris who helped in getting me going on installing the software. I installed the entire Oracle BPM 11g stack on my laptop and documented the procedure.

Continue reading

Installation Hand Off to the Client

As an integrator there are many things we can do as far as making the install a success, but only a very limited amount we can do to guarantee its continuing success. One of the most often seen issues is the handoff of an installation to the client, in particular the maintenance of the database.

Continue reading

Vetting ABBYY ‘Keen Eye’ FlexiCapture at ImageSource

First off, ABBYY means “keen eye”, an apt name for a product that dynamically and automatically captures and processes widely disparate documents.  Powerful document recognition separates and classifies docs, and state-of-the art optical character recognition rips the data from the images.  I like the motto that pops up on screen – “take the data, leave the paper”.  I love doing just that, sending paper briskly off  to start its next recycled life.  It’s the greenest thing to do, especially when compared to  filling endless cabinets and long-term off-site storage facilities.

When you want to recommend, sell, support, and solve major customer problems with ECM software at ImageSource, due diligence mandates a thorough feature review and testing.  I’ll describe some of the steps I was involved with in this process for ABBYY FlexiCapture – but mine is but a single slice of the vet team pie.  Development teams and other engineering teams performed specific examinations to answer questions about integration, APIs, and more narrow capabilities to solve unique problems faced by eager customers.  Also, ImageSource staff with a variety of titles took a week-long training course with intensive labs.  Unfortunately I missed the class but was given the opportunity to spin up for a pre-sales demo last year, which was a lot of fun.

So here’s a peek at our process:

 Laptop Install

First things first!  I like to be able to run new software on my laptop whenever possible.  This frees me from all bandwidth and location constraints.  I can easily focus on the vet effort on a plane, down by the river, wherever and whenever.  ABBYY FlexiCapture has a convenient ‘Standalone Installation’ which gives you access to all the key components on one box.

 Obtain Sample Images from Client

In this case we gathered dozens of hardcopy invoices from a large international corporation.  The images were not pretty and included originals, copies, printed faxes, you name it.

 Ascertain Server Needs

After reviewing the ABBYY documentation we set the requirements for our labs – memory per server, disk space, software required, scan station requirements, scanner requirements, and required operating systems.

 Spin Up VMs

Thanks to Mike Peterson we had three servers up in no time.

Convening the Team , Locking Down the ‘War Room’

Gene Eckhart, Jeff Doyle and I  met in our Olympia office for a week.  Gene secured the war room where we periodically met with developers, project managers, engineers, and principals.  Most of the time it was the three of us banging away. Continue reading

Lab/Development Environments – RightFax Simulation & Testing

At our company we have a lab environment that we utilize to replicate a large number of our customer implementations.  This environment runs on Virtual Servers in order to keep the cost and maintenance down for our organization.  Here are a few of the many advantages for us to maintain this type of environment for our customers;

  1. The ability to reproduce issues and in turn expedite resolution and impact to the customer
  2. A proactive approach to determining the impact (positively or negatively) of new patches, builds, and versions of software
  3. Through development procedures (testing, QA, QC) can take place without affecting customer environments
  4. The ability to give our support technicians, engineers, and developers a thorough understanding of the solution implemented

One issue that does arise on occasion is the ability to reproduce an issue that is occurring in a customer environment where we don’t have the underlying hardware or software.  This can be due to a proprietary product the software is interfacing with or a solution that is not realistic for us to manage internally.  One such case is with OpenText RightFax (formerly Captaris RightFax).  We have customers with all types of configurations from analog and digital fax boards to fax over IP (FOIP), and it doesn’t make sense for us to maintain all types of solutions.

The good news is that RightFax provides an “out of the box” capability to setup a RightFax solution without requiring fax boards or phone lines.  The power of this functionality is that it allows you to send and receive faxes internally to your RightFax system in order to simulate the real world functionality of the software.  This capability is referred to as running RightFax in simulation mode.  The following information takes you through the steps to enable simulation mode on your RightFax v9.4 (older versions of the software also have simulation mode, but the configuration is slightly different) system:

  1. Install RightFax and get it functional, with the exception of the Board Server
  2. Launch the Enterprise Fax Manager (EFM)
  3.  
  4. Open the RightFax Server that you want to configure

Continue reading

Excuse me, you got some AJAX in my UCM.

Now I know that SiteStudio 10gR4 is hardly brand new but for my own work I’m really starting to dig into it.  We’re running a version of Oracle UCM here at ImageSource that, well, not to put too fine a point on it, is getting a bit long in the tooth.  So, in order for me to play around with it, I ended up installing Oracle UCM 10gR3 on a development system.  I got to say that playing with all the new goodies is pushing getting our production system updated much higher up on my personal priority list!

There are so many new features that SiteStudio 10gR4 brings to the table that to go over them all in detail would take more time than I can spare.  With that in mind I’m going to focus on a new feature that really excites me: External Application Integration.

Oracle has provided us two brand spanking new services in this latest release: the WCM_PLACEHOLDER service, and the WCM_BEGIN_EDIT_SESSION service.  Now, with names like that I can forgive you if you are wondering where the sexiness is located. Let me assure you, it’s in there in spades.

WCM_PLACEHOLDER lets any external application you can think of, be it a custom thick-client, a web portal, or a mashup, get at any piece of content stored in UCM.  Wow!  Not only that but you can specify a rendering template (also stored in UCM) to format the data that’s returned. Double Wow!  So let’s say that you are creating a web portal and want to pull out, say, a word document that happens to contain a press release so you can extol the new virtues of Product 2.0 on the portal page.  With WCM_PLACEHOLDER you could load a link like the following using a standard HTTPRequest on the portal page:

http://myecmserver/idc/idcplg?IdcService=WCM_PLACEHOLDER&dataFileDocName=MY_AWESOME_PR_WORD_DOC
&templateDocName=MY_HTML_TEMPLATE

And get a fully rendered HTML fragment returned to you.  Even though it was a Word document, since we’re pulling it from UCM and using a region template that uses the DynamicConverter to convert that document into HTML, we don’t have to worry about it.  Because this is all done over HTTP we can leverage all the powerful AJAX methods that really are what modern website programming is all about.

You might be saying at this point “Okay, getting HTML back is okay I guess, but man, I really wish I could just get it in some easier format to work with it just as data and let my custom application do what I want with it.”  Luckily, WCM_PLACEHOLDER still has us covered. Continue reading