Printing On Webserver フォローする

0
Avatar
Legacy Poster

Hi everyone,

 

    I Have a problem trying to print from a c# application and bartender 9.2.

 

Y run my c# application on localhost and send the event that print and works perfectly, the problem is when i up my project to my server.

 

Is the same project, in my localhost works fine but no in my server.

 

Can you help me with this.

 

Thanks in advanced...

11 コメント

0
Avatar
Domingo Rodriguez
モデレータ
コメントアクション Permalink

Can you let us know what type of issues you're seeing? Do you get any error message when trying to load your website? 

 

Have you installed BarTender as well on the server and is it properly detecting the Seagull License Server on the network?

 

What exact Edition and Build of BarTender is in use?

 

When installing the web based application in IIS on the server, do you later try to open the website as localhost opening your internet browser directly on the server? Does this also fail?

 

Is your web based application running under its own 32 bit application pool? If not, then please do that as this is recommended in order to isolate your web based application.

 

Furthermore, on which Windows version and service pack is the web based application running?

0
Avatar
Legacy Poster
コメントアクション Permalink

I run my aplication as localhost and works perfectly, but when i open the internet browser and run it doesn't print, and of course runing in the webrowser i can't see if there's any problem. The application works perfectly but no the function print. But the application not thrown any errors. (All this in the server).

 

The Bartender is properly installed (full as default) on the server and is detecting the seagull license aswell.

 

The Edition and Build of Bartender is:  9.2 2648

 

The application is running on 32 bits application.

 

The Windows Version is: Windows Server 2003 Enterprise Edition, Service Pack 2 Build 3790

 

Maybe i don't atached the necesary drivers or something in the configuration (I just add Seagull.Bartender.Print.dll and Seagull.Interop.dll from the directory where is installed bartender). Hope you can help me.

0
Avatar
Domingo Rodriguez
モデレータ
コメントアクション Permalink

  1. I'm not sure what you mean by "I run my aplication as localhost and works perfectly, but when i open the internet browser and run it doesn't print". If your IIS web based application is locally installed on the server, you will be able to open your Internet Explorer internet browser and browse to "localhost", which will open the website you've set as default in IIS. When you open your web application in this way on the server side, are you then able to print?
  2. There is a latest build for BT v9.2 which you might wish to install instead: http://www.bartenderbarcodesoftware.com/label-software/fixes_92.aspx
  3. When you print, are you trying to perform normal Windows printing, or Internet printing instead?
  4. Do you see any error messages in the Windows event logs, or when enabling logging in BarTender (via the "Administer > Log Setup > Text File Log" window).
  5. What Edition of BarTender do you own, Enterprise Edition, Enterprise Print Server...?
  6. Are you able to install (and make work) our own web based solution "BarTender Web Print Server"? http://www.bartenderbarcodesoftware.com/label-software/wps-service-release-1119.aspx
0
Avatar
Legacy Poster
コメントアクション Permalink

1.Sorry if i dont be clear. When i said "run in my localhost" i mean when I run the project directly from Visual Web Developer. But rarely when i access to my internet explorer and i put the path http://serverName/Project/Page/ doesn´t print and dont no why. And when i access from other computer doesn't print either. Only when I run directly from Visual Web Developer.

 

2.I Have the International, Enterprise Printe Server.

 

3. I dont see any erros mesagge when enable logging.

 

I honestly don know what form or printing im using i use this code.

 

    try
            {
                engine = new Engine();
                engine.Start();
                engine.LicenseServer.PreferredConnection.Address = serverLicencesBarTender;
                engine.LicenseServer.PreferredConnection.Port = 5160;
                printers = new Printers();
                foreach (Printer printerName in printers)
                {
                    printer = (printerName.PrinterName);
                }
                if (printers.Count > 0)
                {
                    printer = printers.Default.PrinterName;
                }
                format = engine.Documents.Open(pathToteBarTender);
                format.SubStrings[LblToteValue].Value = toteId.ToString();
                format.SubStrings[LblDTValue].Value = DateTime.Now.ToString("dd-MMM-yyyy");
                format.Print();
                format.Close(SaveOptions.DoNotSaveChanges);
                engine.Stop();
            }
            catch (PrintEngineException exception)
            {
                Debug.Write("Error :" + exception);
            }

0
Avatar
Domingo Rodriguez
モデレータ
コメントアクション Permalink

If you don't get any error message at all, it will be difficult to troubleshoot this issue...

 

  1. Are you able to test and use any of the .NET SDK samples which are installed together with BarTender and are available under the "All Programs > BarTender v9.2 > BarTender .NET SDK" folder? Do they work correctly for you?
  2. Have you also checked the Windows application and system event logs? From your latest response this is not clear to me.
0
Avatar
Legacy Poster
コメントアクション Permalink

I found this error:

 

Seagull.BarTender.Print.PrintEngineException: 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. ---> System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {B9425246-4131-11D2-BE48-004005A04EDF} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

   at Seagull.BarTender.Print.Engine.Start(WindowsIdentity identity)

   --- End of inner exception stack trace ---

   at Seagull.BarTender.Print.Engine.Start(WindowsIdentity identity)

   at Seagull.BarTender.Print.Engine.Start()

   at Elster.Services.pgElsterPackingLabelService.printToteBartender(Int64 toteId) in E:\Elster\Elster\Services\pgElsterPackingLabelService.asmx.cs:line 452

0
Avatar
Legacy Poster
コメントアクション Permalink

I already Open a command prompt (DOS) window, change directory to where BarTender
is installed (eg. "C:\Program Files\Seagull\BarTender Suite") and then
enter in the command line: bartend.exe /register

 

But it doesn't work either

0
Avatar
Legacy Poster
コメントアクション Permalink

Finally I found the solution to my problem :D

After see what is the error message like you said to me.

 

I was looking in older post the possible solution.

 

What i did was to change the security account for the application pool of Asp.Net 4.0 from network service to local System. Thats all.

 

 1. Go to IIS

 2. Go to Application Pools

 3. Right Click. Properties,  Then go to the Tab Identity.

 4. And select Predefined and change to local System.

 

Done.

 

Thank you so much for the support. :)

0
Avatar
Domingo Rodriguez
モデレータ
コメントアクション Permalink

Thanks for letting us know that the problem is solved after changing the applications's pool identity.

0
Avatar
Kiran Vadday
コメントアクション Permalink

Hi, 

I have the same exact issue. I am able to run the application and print labels while trying locally via Visual Studio but when I publish my pages to the Production Server, it does not work. No errors or warnings though but simply NO LABELS are being printed. I see that changing AppPoolIdentity to LocalSystem might do the trick but I am worried about the consequences it might create to other pages or stuff in the production. Why changing the identity is causing the application to work or not work? Why is the identity related to Bartender? Is there something that I could change on the Bartender that has the same result like changing the AppPoolIdentity to LocalSystem? Are there any other solutions pertaining to only the pages that are used to create labels? Any other alternative solutions? I highly appreciate any feedback or suggestions in this regards.  

Thank you.

0
Avatar
Kiran Vadday
コメントアクション Permalink

Hi,

 

I found the solution. When you do not want to change the IIS Identity to Local System From AppPoolIdentity, you can set the ASP.Net Impersonation to Enabled. 

Go to IIS.

Go to Sites.

Go the Site where your website (pages that have print functionality) is hosted.

Go to Authentication.

Here, you will find asp.net Impersonation.

Enable and assign a User (custom User) and give that user permissions. 

 

You should be all set. 

ログインしてコメントを残してください。