The Bartender Engine Could Not Be Started Follow

0
Avatar
Legacy Poster

Hi everyone.

 

Tried to search the forum for past answers - non.

 

I have VC# 2010 project after build. the project was copied and not installed to client PC.

 

The bartender 11 was installed on client PC, activated and connected to our local Licensing server, printing from Bartender design studio works fine.

 

My app works fine with all moduls except bartender. it crush when try: "engine = new Engine(true)"

 

Udi

4 comments

0
Avatar
Ian Cummings
Moderator
Comment actions Permalink

From this white paper: http://www.seagullscientific.com/media/101714/32bit-and-64bit-bartender-201511.pdf

 

SDK Considerations
If you have a custom 32-bit print client application that previously used BarTender's 32-bit Print SDK
(Seagull.BarTender.dll), you must install the 32-bit version of BarTender. The 64-bit version will not
work with your application. Howevver, you can install the 32-bit version of BarTender even if you
have a 64-bit processor and a 64-bit OS. Refer to Database and Operating System Considerations.
If you will be using the BarTender SDKs to write a 64-bit program with ActiveX, you must install the
64-bit version of BarTender.
 
NOTE: In addition to introducing 64-bit BarTender, Seagull Scientific has also moved to
.NET 4.0. Because of this, a client application compiled to run against BarTender 10.1
will not work out of the box with BarTender 2016; it will need to be rebuilt. Since you
need to rebuild the application targeting .NET 4.0 anyway, you may wish to also change
the architecture of the application to 64-bit (assuming your application has no other
32-bit dependencies).
0
Avatar
Legacy Poster
Comment actions Permalink

Hi Ian,

 

Develop PC: win7 64 bit (with bartender 2016 32 bit)

 

Client PC: win 7 32 bit (witn bartender 2016 32 bit)

 

My application is VC#2010 with Framework 4

 

in general it's Windows app with layers (DAL,Procces and UI). The Procces encapsulate the bartender use in LablesPrinter Class

0
Avatar
Ian Cummings
Moderator
Comment actions Permalink

Yes this setup should work as expected, but only if the client .NET program has the project's platform target specifically set to x86.  It should not be set to "Any CPU".

 

There is often confusion around just what the “Target CPU” option in Visual Studio does.  Many customers mistakenly set it to “Any CPU” (the VS default) under the assumption that their application will then work on any CPU architecture (as the name would imply). This is actually incorrect.

 

One could blame the confusion on Microsoft’s poor naming conventions here.  “Any CPU” does not at all set your application to work on any CPU architecture.  In fact, what it does is set your application to target the architecture that it is being created on.  So, if you are creating your application on an x86 machine, using "Any CPU" will work fine because VS will target your x86 processor when it build the project.  However, if you are doing this on an x64 machine VS will target the 64-bit processor and in your case it will not work correctly. 

0
Avatar
Legacy Poster
Comment actions Permalink

Hi Ian,

 

sorry for the time, I had to double check my test results.

 

The problem is in the client station security and I will explain:

 

We will take station A for example. it have all set up for the client application.

 

The application can work with any valid Active directory user.

 

Because I'm preforming Identity Impersonation, The login user will not be the same as the windows logged  user, therefore no access to applications in program files.

 

How solved?

 

When the application load, first step is to set an Engine, and then log the user to the application.

Please sign in to leave a comment.