Cannot print on x64 Windows Server 2008 after update 30.03.2009
Cannot print on x64 Windows Server 2008 after update 30.03.2009
Hi,
After update 30.03.2009 report does not print anymore!
Before update I had following very strange situation:
1. Printing from Program within (ShowDialog = false) done printing doceumnt correctly
2. Printing from Service Application (running under some account and within identically call stack) throwed exception (written on our log) by opening modal dialog box from
Stimulsoft dll (which is disallowed for service)
After Update on 30.03.2009 we have not exception and code passed all trace points.
But nothing is printed, neither from program nor service application!
P.S. the same with newest update 07.04.2009
Need a help with this situation.
Thanks in advice!
After update 30.03.2009 report does not print anymore!
Before update I had following very strange situation:
1. Printing from Program within (ShowDialog = false) done printing doceumnt correctly
2. Printing from Service Application (running under some account and within identically call stack) throwed exception (written on our log) by opening modal dialog box from
Stimulsoft dll (which is disallowed for service)
After Update on 30.03.2009 we have not exception and code passed all trace points.
But nothing is printed, neither from program nor service application!
P.S. the same with newest update 07.04.2009
Need a help with this situation.
Thanks in advice!
Cannot print on x64 Windows Server 2008 after update 30.03.2009
Hello.
Please, could you provide us with more information about the issue and send us ( support@stimulsoft.com ) a report that is not printed.
What do mean saying "not printed"? Does this mean that you get blank pages after printing or your printer does not print on the whole?
Thank you
Please, could you provide us with more information about the issue and send us ( support@stimulsoft.com ) a report that is not printed.
What do mean saying "not printed"? Does this mean that you get blank pages after printing or your printer does not print on the whole?
Thank you
Cannot print on x64 Windows Server 2008 after update 30.03.2009
Hello Andrew,
that it's not printed may be was my mistace, it's difficult to reproduce again, because now it's printing, but I have done some recoding since the problem registered...
But the problem with the service is reproducable (here is stack trace):
System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
at System.Windows.Forms.Form.ShowDialog()
at Stimulsoft.Base.StiExceptionProvider.Show(Exception exception)
at Stimulsoft.Report.Print.StiPrintProvider.Print(StiReport report, Boolean showPrintDialog, Int32 fromPage, Int32 toPage, Int16 copies, PrinterSettings printerSettings)
at Stimulsoft.Report.StiReport.Print(Boolean showPrintDialog, Int32 fromPage, Int32 toPage, Int16 copies, PrinterSettings printerSettings)
at Stimulsoft.Report.StiReport.Print(Boolean showPrintDialog, PrinterSettings printerSettings)
at Stimulsoft.Report.StiReport.Print(PrinterSettings printerSettings)
at DE.KLD.IDS.FCPrinter.FCPrinter.StaticPrintReportLocal(StiReport aReport, FCPrinterOptions aPrinterOptions, Boolean aAllowPrinterDialog, String aWantedPrinterName) in D:\TFSProjects\FCServer\Main\IdsBasisApi\FCPrinter\FCPrinterLibrary\FCPrinter.cs:line 790
at DE.KLD.IDS.FCPrinter.FCPrinter.InternalPrintStiReport(StiReport aReport, PrinterType aPrinterType, String aWantedPrinterName, String aFormularName, String aMandant, FCPrinterCategories aCategories, String aUser, String aCommand) in D:\TFSProjects\FCServer\Main\IdsBasisApi\FCPrinter\FCPrinterLibrary\FCPrinter.cs:line 1416
at DE.KLD.IDS.FCPrinter.FCPrinter.DoPrintReport(DataSet aDataSet, PrinterType aPrinterType, String aReportFileName, String aFormularName, String aMandant, FCPrinterCategories aCategories, String aUser, String aCommand) in D:\TFSProjects\FCServer\Main\IdsBasisApi\FCPrinter\FCPrinterLibrary\FCPrinter.cs:line 1256
at DE.KLD.IDS.IDSReports.IDSReportRecord2.PrintReport(Int32 aHierId, Int32 aRecordId, Int32 aRecordNumber, String aRecordType, IDSSheetCollection aSheetCollection, IDSFieldCollection aHeaderFieldCollection, IDSFieldCollection aFieldCollection, PrinterType aPrinterType, String aImageType, String aFormularName, Int32 aClientID, Int32[] aCategories, String aUser, String aCommand) in D:\TFSProjects\FCServer\Main\IdsBasisApi\IDSReports\IDSReportRecord2.cs:line 436
at DE.KLD.IDS.IDSReports.IDSReportRecord2.PrintReport(IDSRecord aRecord, String aRecordType, IDSSheetCollection aSheetCollection, IDSFieldCollection aHeaderFieldCollection, IDSFieldCollection aFieldCollection, PrinterType aPrinterType, String aImageType, String aFormularName, String aUser, String aCommand) in D:\TFSProjects\FCServer\Main\IdsBasisApi\IDSReports\IDSReportRecord2.cs:line 216
at CSharpValid.CSharpValid.ValidProc(Fields Fields) in D:\TFSProjects\FCServer\Main\IdsApplications\Payment\Sources\VeriDlls\ForcedPrintout\Class1.cs:line 151
And here is the code (newest version)
// Kein Druckerauswahldialog wenn:
// - entweder NUR default Drucker per Einstellung erlaubt ist (IsOnlyDefaultLocalPrinter)
// - oder Druckerasuwahldialog nicht erlaubt ist, wie z.B. fur die Services (!aAllowPrinterDialog)
// - und kein vorangestellter Druckernahmen ubergeben wurde (aWantedPrinterName)
if (((aPrinterOptions.IsOnlyDefaultLocalPrinter) || (!aAllowPrinterDialog)) && String.IsNullOrEmpty(aWantedPrinterName))
{
string iPrinterName = aPrinterOptions.DefaultLocalPrinterName.Clone() as string;
System.Diagnostics.Trace.WriteLine(String.Format("IFCPrinter.StaticPrintReportLocal on printer \"{0}\": CASE 1", iPrinterName), "TRACE");
System.Drawing.Printing.PrinterSettings iPrinterSettings = new System.Drawing.Printing.PrinterSettings();
iPrinterSettings.PrinterName = iPrinterName;
aReport.PrinterSettings.PrinterName = iPrinterName;
aReport.PrinterSettings.ShowDialog = false;
aReport.Print(iPrinterSettings);
}
The code writes following trace bevore exception:
>> TRACE ;IFCPrinter.DoPrintReport: Report IDSRecord.mrt rendered!
Which is really correct printer
The report was already created and rendered bevore this peace of code at some other place, which I can see on my tracelog.
>> TRACE ;Try to resolve assembly Stimulsoft.Report, Version=2009.1.361.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a
>> TRACE ;IFCPrinter.DoPrintReport: Report IDSRecord.mrt created!
>> TRACE ;Try to resolve assembly Stimulsoft.Report, Version=2009.1.361.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a
>> TRACE ;IFCPrinter.DoPrintReport: Report IDSRecord.mrt rendered!
I can't understand, why Showing Exception and not throwing this: at Stimulsoft.Base.StiExceptionProvider.Show(Exception exception)
So, I can't catch and see this exception on my log
Because of showing this exception produce new exception...
Thanks again.
that it's not printed may be was my mistace, it's difficult to reproduce again, because now it's printing, but I have done some recoding since the problem registered...
But the problem with the service is reproducable (here is stack trace):
System.InvalidOperationException: Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.
at System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
at System.Windows.Forms.Form.ShowDialog()
at Stimulsoft.Base.StiExceptionProvider.Show(Exception exception)
at Stimulsoft.Report.Print.StiPrintProvider.Print(StiReport report, Boolean showPrintDialog, Int32 fromPage, Int32 toPage, Int16 copies, PrinterSettings printerSettings)
at Stimulsoft.Report.StiReport.Print(Boolean showPrintDialog, Int32 fromPage, Int32 toPage, Int16 copies, PrinterSettings printerSettings)
at Stimulsoft.Report.StiReport.Print(Boolean showPrintDialog, PrinterSettings printerSettings)
at Stimulsoft.Report.StiReport.Print(PrinterSettings printerSettings)
at DE.KLD.IDS.FCPrinter.FCPrinter.StaticPrintReportLocal(StiReport aReport, FCPrinterOptions aPrinterOptions, Boolean aAllowPrinterDialog, String aWantedPrinterName) in D:\TFSProjects\FCServer\Main\IdsBasisApi\FCPrinter\FCPrinterLibrary\FCPrinter.cs:line 790
at DE.KLD.IDS.FCPrinter.FCPrinter.InternalPrintStiReport(StiReport aReport, PrinterType aPrinterType, String aWantedPrinterName, String aFormularName, String aMandant, FCPrinterCategories aCategories, String aUser, String aCommand) in D:\TFSProjects\FCServer\Main\IdsBasisApi\FCPrinter\FCPrinterLibrary\FCPrinter.cs:line 1416
at DE.KLD.IDS.FCPrinter.FCPrinter.DoPrintReport(DataSet aDataSet, PrinterType aPrinterType, String aReportFileName, String aFormularName, String aMandant, FCPrinterCategories aCategories, String aUser, String aCommand) in D:\TFSProjects\FCServer\Main\IdsBasisApi\FCPrinter\FCPrinterLibrary\FCPrinter.cs:line 1256
at DE.KLD.IDS.IDSReports.IDSReportRecord2.PrintReport(Int32 aHierId, Int32 aRecordId, Int32 aRecordNumber, String aRecordType, IDSSheetCollection aSheetCollection, IDSFieldCollection aHeaderFieldCollection, IDSFieldCollection aFieldCollection, PrinterType aPrinterType, String aImageType, String aFormularName, Int32 aClientID, Int32[] aCategories, String aUser, String aCommand) in D:\TFSProjects\FCServer\Main\IdsBasisApi\IDSReports\IDSReportRecord2.cs:line 436
at DE.KLD.IDS.IDSReports.IDSReportRecord2.PrintReport(IDSRecord aRecord, String aRecordType, IDSSheetCollection aSheetCollection, IDSFieldCollection aHeaderFieldCollection, IDSFieldCollection aFieldCollection, PrinterType aPrinterType, String aImageType, String aFormularName, String aUser, String aCommand) in D:\TFSProjects\FCServer\Main\IdsBasisApi\IDSReports\IDSReportRecord2.cs:line 216
at CSharpValid.CSharpValid.ValidProc(Fields Fields) in D:\TFSProjects\FCServer\Main\IdsApplications\Payment\Sources\VeriDlls\ForcedPrintout\Class1.cs:line 151
And here is the code (newest version)
// Kein Druckerauswahldialog wenn:
// - entweder NUR default Drucker per Einstellung erlaubt ist (IsOnlyDefaultLocalPrinter)
// - oder Druckerasuwahldialog nicht erlaubt ist, wie z.B. fur die Services (!aAllowPrinterDialog)
// - und kein vorangestellter Druckernahmen ubergeben wurde (aWantedPrinterName)
if (((aPrinterOptions.IsOnlyDefaultLocalPrinter) || (!aAllowPrinterDialog)) && String.IsNullOrEmpty(aWantedPrinterName))
{
string iPrinterName = aPrinterOptions.DefaultLocalPrinterName.Clone() as string;
System.Diagnostics.Trace.WriteLine(String.Format("IFCPrinter.StaticPrintReportLocal on printer \"{0}\": CASE 1", iPrinterName), "TRACE");
System.Drawing.Printing.PrinterSettings iPrinterSettings = new System.Drawing.Printing.PrinterSettings();
iPrinterSettings.PrinterName = iPrinterName;
aReport.PrinterSettings.PrinterName = iPrinterName;
aReport.PrinterSettings.ShowDialog = false;
aReport.Print(iPrinterSettings);
}
The code writes following trace bevore exception:
>> TRACE ;IFCPrinter.DoPrintReport: Report IDSRecord.mrt rendered!
Which is really correct printer
The report was already created and rendered bevore this peace of code at some other place, which I can see on my tracelog.
>> TRACE ;Try to resolve assembly Stimulsoft.Report, Version=2009.1.361.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a
>> TRACE ;IFCPrinter.DoPrintReport: Report IDSRecord.mrt created!
>> TRACE ;Try to resolve assembly Stimulsoft.Report, Version=2009.1.361.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a
>> TRACE ;IFCPrinter.DoPrintReport: Report IDSRecord.mrt rendered!
I can't understand, why Showing Exception and not throwing this: at Stimulsoft.Base.StiExceptionProvider.Show(Exception exception)
So, I can't catch and see this exception on my log

Because of showing this exception produce new exception...
Thanks again.
Cannot print on x64 Windows Server 2008 after update 30.03.2009
After adding folllowing lines to code:
//AL: (07.04.2009) ==> NO Exception/Message-Boxes in every case! ==> important for service!
Stimulsoft.Report.StiOptions.Engine.HideExceptions = true;
Stimulsoft.Report.StiOptions.Engine.HideMessages = true;
I don't see modal dialog box exception on my log, moreover I don't see any exceptions on my log and I have no printed output also, programm passes all trace points without error log and without done printing.
This is not acceptable, because it's impossible to get future information about encountered problem.
P.S. What does the options Stimulsoft.Report.StiOptions.Engine.UseAdvancedPrintOn and Stimulsoft.Report.StiOptions.Engine.UseAdvancedPrintOnEngineV2 ?
Thanks!
//AL: (07.04.2009) ==> NO Exception/Message-Boxes in every case! ==> important for service!
Stimulsoft.Report.StiOptions.Engine.HideExceptions = true;
Stimulsoft.Report.StiOptions.Engine.HideMessages = true;
I don't see modal dialog box exception on my log, moreover I don't see any exceptions on my log and I have no printed output also, programm passes all trace points without error log and without done printing.
This is not acceptable, because it's impossible to get future information about encountered problem.
P.S. What does the options Stimulsoft.Report.StiOptions.Engine.UseAdvancedPrintOn and Stimulsoft.Report.StiOptions.Engine.UseAdvancedPrintOnEngineV2 ?
Thanks!
Cannot print on x64 Windows Server 2008 after update 30.03.2009
What happens if you try adding this line of code before calling 'aReport.Print(iPrinterSettings);'
Code: Select all
aReport.Render(false);
Cannot print on x64 Windows Server 2008 after update 30.03.2009
Actually it seems your report may be producing some sort of exception, and the Report engine is attempting to bring up the new Exception submission window which is causing a problem due to running under a service.
Try using just the HideMessages static property:
Try using just the HideMessages static property:
Code: Select all
Stimulsoft.Report.StiOptions.Engine.HideMessages = true;
Cannot print on x64 Windows Server 2008 after update 30.03.2009
No, Report produces no Exceptions - the same report works on GUI-Application and also works as Windows Service on x64 Windows Server 2003.
The problem seems to occur since Windows Server 2008.
As I described, report loads and renders WITHOUT any Exceptions.
The Exception occurs while printing.
After adding:
There are no exceptions in log but also nothing is printed.
It's also really very wired.
The problem seems to occur since Windows Server 2008.
As I described, report loads and renders WITHOUT any Exceptions.
The report was already created and rendered bevore this peace of code at some other place, which I can see on my tracelog.
>> TRACE ;Try to resolve assembly Stimulsoft.Report, Version=2009.1.361.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a
>> TRACE ;IFCPrinter.DoPrintReport: Report IDSRecord.mrt created!
>> TRACE ;Try to resolve assembly Stimulsoft.Report, Version=2009.1.361.0, Culture=neutral, PublicKeyToken=ebe6666cba19647a
>> TRACE ;IFCPrinter.DoPrintReport: Report IDSRecord.mrt rendered!
The Exception occurs while printing.
After adding:
//AL: (07.04.2009) ==> NO Exception/Message-Boxes in every case! ==> important for service!
Stimulsoft.Report.StiOptions.Engine.HideExceptions = true;
Stimulsoft.Report.StiOptions.Engine.HideMessages = true;
There are no exceptions in log but also nothing is printed.
It's also really very wired.
Cannot print on x64 Windows Server 2008 after update 30.03.2009
Hello,
Please send request to support@stimulsoft.com with link to this topic. We will send you patch for this problem.
Thank you.
Please send request to support@stimulsoft.com with link to this topic. We will send you patch for this problem.
Thank you.
Cannot print on x64 Windows Server 2008 after update 30.03.2009
Hello Jan,
mail sent!
Thank you!
mail sent!
Thank you!
Cannot print on x64 Windows Server 2008 after update 30.03.2009
Hello!
Do you have already a patch or need you time to create this?
Thanks.
Do you have already a patch or need you time to create this?
Thanks.