views:

987

answers:

6

I have a .NET web app that uses CR 2008 for reports. The server it's deployed on is saddled with McAfee, and we want to tell CR to use a temp directory other than the Windows temp dir.

Google found me the following registry key:

SOFTWARE\Business Objects\Suite 12.0\Report Application Server\InprocServer\TempDir.

Adding this key does result in CR creating a bunch of temp files in the directory I specified. However, at the end of the report run I get an "Operation not yet implemented" exception.

I'm trying to return a PDF to the browser via ExportToHttpRequest(), which works just fine if I don't change the In-process server's tempdir.

Has anyone run into this before? I've already given the local ASPNET account full control of the new tempdir.

Thanks.

+1  A: 

I have used CR for more years than I ever wanted to, but never had to specify a different temp folder. Do you have any specific reason for that? I don't know if IIS process can "simply" access that.

What is the "other" temp dir or better yet, "where is it" in the HDD?

Martín Marconcini
A: 

As I mentioned, my servers are saddle with McAfee. Our admins don't want to exclude the Windows temp dir from scanning, so I want Crystal to use a different directory that we can then exclude.

A: 

I understand. Out of curiosity, what windows is that? XP? Vista?

Martín Marconcini
A: 

Happens on my development machine (XP SP2) and my servers (2k3 R2).

A: 

We have tried this to no avail as well under IIS5. Ran into the same exact problem after trying to set the TempDir registry key. PDF export started failing although all other report exports (apparently) work.

However, at a client site running IIS6, this redirection of temp files to a dedicated directory works fine. By default, on their site, Crystal Reports uses the directory

C:\Program Files\Business Objects\BusinessObjects Enterprise 11.5\Data

as its temp storage location, and gives the ASP.NET account adequate privileges to create and remove files there. So perhaps there is some hardwired logic that mandates that the files be created within the CR installation directory hierarchy. In other words, this all worked as expected by default after CR installation under IIS6.

For release 12, obviously the directory would be slightly different.

A: 

The other temp directory than C:/windows/temp should be located in your web site's virtual directory. Just add that temp folder in your web site's directory and when you make its virtual path to host it on IIS , it automatically gets included. If you want to make it at some other place like at D:/CrystalTEmp, you need to add this folder in your Inetmgr, just right click this directory and enable its web sharing. And yes you need to give Network service full rights over this temp folder.

If your placing your web site directory in inetpub/wwwroot, then you dont need to give rights to network service.

Kashif Rana