Issue with AR 2.0 W2k3 Server SP1 and Custom OCX

Posted by: wlhagan3 on 4 August 2017, 2:59 pm EST

  • Posted 4 August 2017, 2:59 pm EST

    I am still having issues with reports using our custom .ocx with AR 2.0 on Windows Server 2003 SP1.


    Previous post: http://www.datadynamics.com/forums/92084/ShowPost.aspx  (Back history.)


    I have attached examples of the reports on Windows Server 2003 with (reports do not work) and without SP1 (reports work).


    We access this report library .dll via an Intranet web application.  The request to generate the report is handled by a .dll that is deployed in COM+.  This .dll does not have any AR reports in it.  The request is handed from this .dll to the report libaray .dll that is not in COM+.  The report library .dll generates the report and saves it to a file.  The file path and name is returned to the calling .dll and then handed off to be read into the viewer embedded in the browser.


    The report file in both cases is generated and displayed to the viewer in the browser.  The report that "does not work" appears to be incomplete.  The graphics in the .ocx do not render completely.  (See attached report examples.)


    This architecture has been working on our current production environment of Windows Server 2000 and development environment of Windows Server 2003.  We are attempting to migrate to a new production server loaded with Windows Server 2003 SP1 and cannot seem to resolve this issue.


    I have tested the same "code path" that the web uses via a VB .exe to the same result.  If the component that is deployed in COM+ is removed from COM+ and just registered, the VB .exe is successful but then the web application cannot generate the report.


    Thoughts?


    Thanks.


    Robb


    2006/10/AR 2.0 W2k3 SP1 Issues.zip
  • Replied 4 August 2017, 2:59 pm EST

    Ali-


    All other reports in this report library seem to be generating without issue.  We do use a third party .ocx for pie charts that does not seem to have any/this issue.  Our internally developed .ocx's are coded in VB 6.0 and do not utilitze any API calls/interfaces.  They are just data driven chart controls.


    Robb

  • Replied 4 August 2017, 2:59 pm EST

    This is a complex situtation and you need to narrow it down to get the simplest running sample that causes the problem. In the first place, does a report with the chart ocx (not in a dll ) have the problem on Win2k3 SP1 but not on Win2k3? If not, does the problem occur without using the intermediary dll in COM+, by requesting the reports from the report dll? Have you checked the chart ocx on a form without any reports, does it work on Win2k3 SP1?
    We cannot tell what is causing this without having a running sample to debug. Please try to narrow down the problem to come up with the simplest running sample and send it to us. You can send it to our email address activereports.support AT datadynamics.com that includes this ocx.
  • Replied 4 August 2017, 2:59 pm EST

    Ali-


    Sorry about that.  I will attempt to package a simple test.


    I have tested the report library directly (without intermediary .dll) via a VB .exe and the reports generate properly on Win2k3 SP1.


    I have tested .ocx on a VB form and it works properly on Win2k3 SP1.


    I have tested the intermediary .dll (not in COM+) with the report library .dll called via VB .exe and it works properly on Win2k3 SP1.


    The reports fail to generate completely when the intermediary .dll is configured in COM+ via the web page and VB .exe.


    Robb


     

  • Replied 4 August 2017, 2:59 pm EST

    So it must be something that has changed with COM+ in SP1 that is causing this. Considering that SP1 was mostly about security fixes, then Microsoft must have changed some security setting in COM+ that is causing the problem. You might want to review the release information for the service pack to see what changed concerning COM+ (see this FAQ and the guide). I forgot to ask if the problem occurs with any report that doesn't use the chart ocx.
  • Replied 4 August 2017, 2:59 pm EST

    Since the reports without the ocx do not have this problem then it is clearly not an issue with ActiveReports itself. But from what I read about Win2k3 SP1, security has been specifically tightened for DCOM which I suppose should affect any components that connect across the network (including connections to a database). Does the problem occur if you use the OCX on a report without connecting it to a database? Have you found anything related to the problem in the release information for SP1? Have you asked on COM+ forums about the security changes?
  • Replied 4 August 2017, 2:59 pm EST

    Ali-


    I just compiled a test project that mimics the components that we have created for our solution and the problem persists.  The report in this test project does not connect to the database.


    I am not an expert on COM/COM+/DCOM but I did not see anything in the SP1 release notes that looked like it is causing this problem.


    I have not looked into any COM+ forums.


    I have attached the test project I created and tested on our test server (Win2k3 Server SP1).  I will forward it to the support email address as well.


    Robb


    2006/10/AR 2.0 W2k3 SP1 Test Project.zip
  • Replied 4 August 2017, 2:59 pm EST

    Thanks for the sample. But I have hoped to find some step-by-step instructions on how to set it up because I am not an expert on these matters either. If you could provide this it would help me reproduce the problem faster. Also, because of this, asking on some COM+ forum might be more helpful as experts on these know what has changed with SP1 that would have affected your application.
  • Replied 4 August 2017, 2:59 pm EST


    Pre-req's: Create C:\rptout\ folder, register ofacCallanChart.ocx, ofacRiskReturn.ocx, Intermediary.dll, ReportTest.dll


    1. Configure the Intermediary.dll in a COM+ package and assign a security context on the Identity tab of the property page of the package.


    2. Run the ARw2k3SP1Test.exe and click the Callan Chart button and then the Risk Return button. This should show the reports not generating properly.


    3. Delete the COM+ package containing the Intermediary.dll and reregister the Intermediary.dll via regsvr32.


    4. Run the ARw2k3SP1Test.exe and click the Callan Chart button and then the Risk Return button. This should show the reports generating properly.

Need extra support?

Upgrade your support plan and get personal unlimited phone support with our customer engagement team

Learn More

Forum Channels