Assembly Errors In Application 追蹤

Legacy Poster

We have an application that was previously Windows forms-based, but has recently been converted to ASP.NET. It uses the SDK assemblies to allow users to print labels from within the application. Everything worked fine in the forms version. However, after converting our application, we have been unable to get the feature to work properly.

Here are the steps that have been taken:
1) Install the ASP.NET application packaged with the older assebmlies (from BT version 9.10 - same as the forms-based application).
2) Install a new BarTender 9.4 Automation edition
3) Activate the new BarTender install.
4) Create a format, add the printer and successfully print the label from within BarTender.

This resulted in the following error, when attempting to print a label from the ASP.NET application using the same format file created (and successfully tested) within BarTender. At this point, I was not catching the InnerException message, if there was one.

[color="#FF0000"]The BarTender engine could not be started. Possible reasons are:
1) BarTender is not properly installed.
2) BarTender is not properly registered on the computer (e.g bartend.exe /register).
3) There are too many process instances of BarTender running. Stop a few bartend.exe instances and try again.
Also see SDK Engine.Start method documentation for information about how to allow more BarTender processes to run on your computer by increasing your "non-interactive" shared desktop heap.[/color]

After this failed, I decided to install the SDK Assemblies to the computer. THis gave the same result. Then, I decided to package the latest BarTender assemblies into the application installer and try again. This resulted in the following problems:

Upon installation, the new installer (generated with InstallShield Express 2010) kicked out this error:

[color="#FF0000"]Error 1904.Module
C:\inetpub\wwwroot\WebApplication\bin\BtShlExt.dll failed to register. HRESULT -2147220473.
Contact your support personnel.[/color]

When running the application, I get the same error as before, but at this point I also trapped the InnerException message, which is as follows:
[color="#FF0000"]Retrieving the COM class factory for component with CLSID {B9425246-4131-11D2-BE48-004005A04EDF} failed due to the following error: 80070005.[/color]

Any help or suggestions would be greatly appreciated. I have this exact behavior on 2 different laptops, one running Windows 7 Pro and one running Windows XP Pro, and both running IIS and their own copies of the ASP.NET application.

The development machine (Windows 7 Ultimate running VS 2008) does not have this problem. Even when the application was still referencing the older DLL's, it worked properly.


2 意見

Legacy Poster
評論操作 永久連結

I've done some more testing and I think this might be related to the ASP.NET "user" not having permission to launch BarTend.exe? Although I could see that being a problem under Windows 7 (UAC), but not so much under XP? When in the development environment, the application runs in an IIS instance under my account, with Admin privilege, which is probably why it runs just fine. That is not the case with a production install.

I'm going to work on it and re-check the documentation for hints, but does this sound like the possible cause of the problem?

Gene Henson
評論操作 永久連結

That could certainly be the problem. You'll want to make the sure the ASP "user" has local administration privileges on the PC.