cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal 2011 (or 13.02) Export to MAPI on Windows 7 x64

Former Member
0 Kudos

So I have some code which pretty much matches the examples for exporting to MicrosoftMail. This code works great on a 32 bit machine, however it doesnt work at all on x64. My application is built as "Any CPU" this wont change so dont bother to suggest that. Also I cannot use system.net.mail. I have been instructed to get this to work using the Crystal Export. So all that said is there anyone out there that has got this work work in the following environment:

Windows 7 32 AND 64 bit with the app built in VS.net 2010 as Any CPU using the Export to MSMAIL feature in Crystal 13 (2011)? If so how did you do it?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Thanks thats what I needed to know. I dont really like the way it works but it is what it is. I hope that maybe a future release of Crystal uses something other than MAPI or ExtendedMAPI. There has to be some other way to do this from a Crystal POV.

0 Kudos

Hi John,

There is also Microsoft Exchange as an option:

Exporting to a Microsoft Exchange folder exports the report in the specified format to an Exchange folder so that the exported report can be accessed through a Microsoft Exchange client such as Microsoft Outlook.

We just use what is available from MS. If you have a suggestion add it to Idea Place and the PM's will have a look at it.

Thanks again

Don

Former Member
0 Kudos

See here is the thing, using MAPI is great becuase you can use any email client on the computer, more versatile. But with 64 vs 32 this is an issue becuase of bitness of the email client. Using exchange limits you to exchange.

Former Member
0 Kudos

Ok so here is where we are at. Crystal Reports 2011 is broken. If I go into Crystal and then check Task manager it is running as 32 bit on a 64 bit computer. When I run a report and export it to MAPI as RTF it fails as I am running 64 bit Outlook on a 64 bit OS. Also I tried what you suggested and I still cannot get my app to email. The Crystal Export just returns: "Attempted to write to Protected Memory". It does this on ANY 64 bit machine I try it on. All of this by the way works great on a 32 bit OS.

So all of that said, I think that his is broken and I just paid for Crystal 2011 and its supposed to be 64 bit or 32 and its not at all. It seems to me that no matter what I do this will never work on 64 since Crystal is 32 bit.

Suggestions?!??! Is there anyone out there who can show me that this works on a 64 bit OS???

Also what is the number for Crystal Support, I cannot seem to find that anywhere?

0 Kudos

Hi Jon,

CR 2011 Windows is a 32 bit app, that will not likely change for all of the users still on 32 bit applications. There are multiple reasons why it and will stay, We have a new CR Designer for Enterprise that is Java Based and therefore is not platform dependent so it will work on either platform but at the same time it also requires ALL dependencies to be 64 bit also.

[Platforms |http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/10df8fed-5cc6-2e10-93a8-99c15c6de338&overridelayout=true]do indicate this:

Notes:

 Crystal Reports is offered as a 32-bit native binary. It requires 32-bit data source middleware connectivity on all operating systems.

 Crystal Reports uses the 32-bit ODBC registry on all versions of Windows. To administer 32-bit ODBC DSNs on 64-bit versions of Windows, run the 32-bit ODBC Administrator, located here: C:\Windows\SysWOW64\odbcad32.exe

Therefore CR Designer itself still requires 32 bit dependencies, unless they support "thunking" which will translate between 64 -> 32 or 32 -> 64. Appears Outlook and MAPI do not, see this MS Kbase also:

http://technet.microsoft.com/en-us/library/ee681792.aspx

So for those using CR Designer to build reports and want to e-mail to MAPI they'll have to use a 32 bit version of Office 2010.

For those running your application they should be able to use the CR for VS 2010 64 bit runtime and thus have 64 bit Office 2010 installed, as I said, VS 2010 IDE runs in 32 mode so you need to run the 64 bit Application Executable to test exporting.

Did you run the Exe or from the .NET IDE when testing?

You can purchase a single support case from this link:

http://store.businessobjects.com/store/bobjamer/DisplayProductByTypePage&parentCategoryID=&categoryI...

If you do log a case and it is show there is a bug in the 64 bit export function then you can get a refund.

Don

Former Member
0 Kudos

Did you run the Exe or from the .NET IDE when testing? No, I ran it outside of the IDE.

0 Kudos

Hi Jon,

I'm putting a VM-ware image together again and see what happens. I'm sure this should work but I don't recall the case or Forum post where I worked this previously.

Don

0 Kudos

Hi Jon,

I can duplicate the error. Not sure how that other post made it work....

I'll track it now and if it can be fixed, may be a MS issue, it should make it into Service Pack 3 if it's something we can fix.

Thanks

Don

Now it's tracked and escalated - Problem_Report: ADAPT01603058

Se to be fixed in SP3 dues out late winter or spring depending on scheduling, still finalizing....

Edited by: Don Williams on Dec 14, 2011 8:07 AM

Former Member
0 Kudos

I await SP3 then. Thanks.

former_member183750
Active Contributor
0 Kudos

Resolution to this issue has now been postponed to Service Pack 4

- Ludek

0 Kudos

Due to other more important bug fixes this has been once again pushed to a later SP.

Now scheduled for SP 6....

Work around currently is to export to disk and then e-mail the files. Kbase article with sample code on how to if you search.

Don

0 Kudos

Latest update. This issue has been pushed to SP 7 now. We are working with Microsoft on how to resolve the issue in a 64 bit app

Don

Answers (1)

Answers (1)

0 Kudos

Hi Jon,

First the recommendation to use x86 or x64 rather than AnyCPU is to make your life easier. MSIExec.exe detects the OS version and deploys that version. So if you install to a 64 OS MSIExec will only deploy the 64 bit MSI and it will generate an error that the Engine cannot be found. Up to you though...

As for the MAPI issue see this MS Kbase on how to: http://msdn.microsoft.com/en-us/library/dd941355.aspx

Make sure CR can find the 64 bit bit version of Windows MAPI.

Use Modules or Process Monitor to see which one it's using. And run the EXE in the Release folder outside of the IDE. ,NET IDE runs in 32 bit mode.

And see if this works:

//repdoc = rptClientDoc;

rpt.Load("c:
report2.rpt");

rpt = repdoc.ExportOptions;

rpt.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.MicrosoftMail;

rpt.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.RichText;

MailOpts.MailToList = "Don Williams";

MailOpts.MailSubject = "Attached is a RTF file - .net Export test ";

MailOpts.MailSubject = "This is the Subject";

//MailOpts.MailCCList = "John Doe";

MailOpts.UserName = "DomanAccount";

MailOpts.Password = "yourpassword";

rpt.DestinationOptions = MailOpts;

rpt.Export();

Thanks

Don

Edited by: Don Williams on Dec 7, 2011 8:12 AM