Rip's Domain

Crystal Reports XIR2 not displaying PDF reports on Windows 2008 and IIS 7.x

Posted in TechSupport, Windows by rip747 on September 9, 2011

UPDATE: I’ve tightened up the permissions that the Windows\Temp directory needs. Seems that IIS_IUSRS requires Modify permission.

I’ve been tackling this problem for a few weeks now. We are in the process of consolidating servers at my work and moving them all to a Windows 2008 (32-bit) server running IIS 7. There is one app in particular that was giving us problems that was using Crystal Reports XIR2.

What was happening was that when Crystal was generating a report to PDF and pushing it to the browser, the browser would just keep working and nothing was getting displayed. This resulted in the dreaded “Load Report Failed” error in the application event log. Also if you looked in the Widows\Temp directory, you would see the *.rpt file would never get deleted. Seems that something was blocking not only the Crystal from generating the PDF, but also from deleting the *.rpt file that was generated.

After weeks of trying everything I could think of under the sun and even contacting Microsoft about this, I couldn’t get a solution. Needless to say I had to figure this out myself, which is exactly the type of problems I like since it brings me back to my administrator roots 😉

In order to finally get this working, I had started from scratch. I first reinstalled all the software that the old server had on it:

Crystal Reports XI Release 2 .Net 2005 Server

I tried pulling up the report again and total fail. Looking at the dates of the dlls in the “C:\Program Files\Business Objects\Common\3.5\bin” directory on both servers, I noticed that the dates of the files were different. The ones on the old server were from 2008 while the ones on the new one were from 2006. Looking at the list of installed programs on the old server, I could only see that “Crystal Reports XI release 2 .Net 2005 Server” was the only things installed, very strange.

I asked a co-worker of mine if we had the full version of Crystal Reports XI Release 2 laying around anywhere and it turned out we did. I figured that maybe by installing the full version along with all the service packs for it, the dlls on the new server would get updated. I next installed the following:

Crystal Reports XI Release 2
Crystal Reports XI R2 Service Pack 2
Crystal Reports XI R2 Service Pack 3
Crystal Reports XI R2 Service Pack 4

and for good measure:

BusinessObjects Enterprise XI Release 2 Service Pack 1

After installing the software, I checked the dlls and they were at the 2008 date! Awesome! Tried the app again and… Nothing 😦

At this point I figured that it had to be a permission issue since 95% of the problems you encounter with Windows 2008 are permission issues. I downloaded and ran ProcessMonitor on the server, filtering by “Process Name” and selecting “w3wp.exe” as the process. I cleared the events and started the capture.

After hitting the site and replicating the error again, I looked in the events that ProcessMonitor captured. I noticed that at the end, I was getting an “Access Denied” on the Windows\Temp folder. I remembered that sometimes you will need to give the “Network Service” user modify access to Windows\Temp folder if web applications are using it. After configuring the security on the Windows\Temp folder I tried again. I still got the same “Access Denied” error 😦

At this point I was stumped, until I realized that the site was configured to also use “ASP.Net Impersonation”. Maybe it wasn’t using the “Network Service” account but the credentials of the person hitting the site? For the heck of it, I gave “Everyone” full control on the Window\Temp directory. Tried the site again and… Success! The app worked.

Now that I’ve gotten through the problem, I’m going to dive more into it since I’m not liking the fact of having “Everyone” full control on the Windows\Temp directory, but at least everything is working.

So in summary, in order get through this issue, you will need to install the following software:

Crystal Reports XI Release 2 .Net 2005 Server
Crystal Reports XI Release 2
Crystal Reports XI R2 Service Pack 2
Crystal Reports XI R2 Service Pack 3
Crystal Reports XI R2 Service Pack 4
BusinessObjects Enterprise XI Release 2 Service Pack 1

and give the following permissions on the Windows\Temp directory:

IIS_IUSRS – Modify “Everyone” full control

If anyone else has had this problem and gotten through it, please tell me what you did to resolve this.

Syncing mobile devices with Exchange errors with: The certificate chain did not end in a trusted root

Posted in Exchange, TechSupport by rip747 on July 20, 2011

When trying to sync a mobile device or testing your Exchange configuration using testexchangeconnectivity.com you receive the following error:

“The certificate chain did not end in a trusted root. Root = OU=VeriSign Trust Network, OU=”(c) 1998 VeriSign, Inc. – For authorized use only”, OU=Class 3 Public Primary Certification Authority – G2, O=”VeriSign, Inc.”, C=US”

The problem is that a certificate in your certificate chain is untrusted. If you look at the OU it tells you what certificate is untrusted. Go to the certificate authority’s website to download and install the appropriate certificate.

NOTE: for the issue that I had with my Verisign certificate, I ran around in circles looking for the right cert to download. It is quite apparent that Verisign’s knowledge base search sucks. Only after calling their support department was I able to get the right information. That said article SO13347 in Verisign’s knowledgebase had the correct certificate to resolve this problem.

ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA with Linked Server

Posted in MSSQL, Oracle, SQL, TechSupport by rip747 on July 18, 2011

most likely this is and issue with the look up for your alias. a quick workaround for is to set the Data Source and Provider Strings to the following:

<FQ hosting name>:<port>/<alias>

oracleserver.mycompany.com:1521/db

thanks to bkgroups<AT>yahoo<DOT>com for the post all the way back in 2007 on sqlmonster.com for the answer.

Toshiba 40G300U1 – updating firmware

Posted in TechSupport by rip747 on July 10, 2011

Steps to update the firmware for a Toshiba 40G300U1 since the instructions that Toshiba supplies in their manual are wrong.

1) Format the USB stick as FAT32. Make sure that you DO NOT perform a quick format.

2) copy the firmware update to the USB drive. NOTE that it must be the only file on the drive.

3) Turn the TV OFF (Toshiba saids you can let it on)

4) Insert the USB stick into the USB slot.

5) Turn the TV ON.

At this point the TV will detect the firmware update and start going. DO NOT power off the TV unless you want a really expensive and crappy mirror hanging on your wall.

After the update is complete (it will say so). Turn the TV OFF and THEN remove the USB drive.

Congrats you’re at the least version.

Tagged with: , , ,

When in doubt, update your bios

Posted in TechSupport by rip747 on May 26, 2009

What a strange problem. For the last 3 hours I’ve been trying to get my Linksys WRT54GL router to work. Seems that when I came home today something must of happened because my internet connection was totally screwed. I have Comcast as my ISP and I thought that there might be an outage in the area. After giving them a call, they determined the cable modem was OK and that my signal strength was perfect. Despite them being helpful on the phone, I would have to wait until Thrusday for a tech to come out and see what was the problem and I don’t have the luxary of being disconnected from the internet for 3 days.

Long story short, after hours of testing and trying things out, I determined that for some reason the DCHP client on my Linksys router died. I should mentioned that I was running Tomato 1.23 on the router. Don’t know what could of caused this, but with that I downloaded Tomato 1.25 and flashed the bios. Now everything is working again.

Whatever happened to the router today must of corrupted something in the bios and flashing it to a new version seems to have fixed the problem.

Using Dependency Walker

Posted in TechSupport, Uncategorized, Windows by rip747 on May 23, 2009

If there’s one tool I have completely fell in love with it’s Dependency Walker (DW). DW is a tool that let’s you see what a file, in many cases DLLs, depends on in order to get them to run or register.

Case in point, just yesterday I was trying to get Office 2003 SP 3 installed on our intern’s computer. No matter what I did, I was getting the dreaded 1904: Cannot Register MSRCLR40.dll error and it was driving me insane. Now according to Microsoft and other sourcesI found on the net, this is a problem with not having the latest MDAC installed for XP (2.81 sp1), however I checked (by following Microsoft’s instructions) and I did have the latest MDAC installed. In any case, I reinstalled the latest MDAC, rebooted, tried the installation again and got the same thing. Dammit!

At this point, I knew that I could be downloading and installing different things all day, so I opted to run a repair on Microsoft Office and see what that did. Wouldn’t you know, I got the 1904 error during the repair, go fig. Now I’m screwed. I ran out of options the net handed me, so that’s when I decided to download DW and give this magical life saver a run.

As I mentioned above, DW is a stand alone tool that let’s you select a file and shows you which other files (or modules) the file needs in order to run or, in our case, register. It’s extremely easy to use and understand.

The first thing you need to do is download and unzip the latest version of DW. As of this writing it’s 2.2.

After you have it unzipped, open up the folder and double click the depends.exe file. Once DW loads up, all you need to do is click File -> Open and select the file that you DW to inspect (for this example I selected MSRCLR40.dll that was in c:\windows\system32 on my machine).

dw2

Is that cool or what? As you can see from the screen shot above, DW will show you all of the files that MSRCLR40.dll needs in order to work. Now if there are any files that are missing from your machine, they will show up in RED at the very top of the list (I have everything this file needs, so I don’t have any errors). Once you have your list of files that you need, all you need to do is to either download the files from the internet or copy them from another machine and copy them to the appropriate place. Then just hit View -> Refresh (or F5) and see if everything is OK. Don’t worry about any delay-load dependency module errors you might get since these module aren’t loaded until you actually try to run or register the file.

In the case of my intern’s computer, DW told me that the machine didn’t have MSJET40.dll, MSJINT40.dll and MSJTER40.dll. I managed to copy these from my work machine, however you can download them from Microsoft. After that I went to a command prompt and ran:

regsvr32 c:\windows\system32\msrclr40.dll

The file registered successfully and I finally got Office 2003 SP 3 installed!

Using a tool like DW from the get go can save you hours of searching the internet and trying different solutions until you find the magical one that fixes your problem. I find that in the world of tech support this tool is invaluble and hopefully you will too.

Git: push rejected non-fast forward

Posted in Git, TechSupport by rip747 on April 20, 2009

When trying to do a push to a repo, you might encounter the following error:

$ git push github master
To git@gitproxy:rip747/cfwheels.git
! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to ‘git@gitproxy:rip747/cfwheels.git’

Don’t panic, this is extremely easy to fix. All you have to do is issue a pull and your branch will be fast-forward:

$ git pull github master
From git@gitproxy:rip747/cfwheels
* branch            master     -> FETCH_HEAD
Already uptodate!
Merge made by recursive.

Then retry your push and everything should be fine:

$ git push github master
Counting objects: 44, done.
Compressing objects: 100% (32/32), done.
Writing objects: 100% (32/32), 6.30 KiB, done.
Total 32 (delta 23), reused 0 (delta 0)
To git@gitproxy:rip747/cfwheels.git
1717535..1406e8c  master -> master

UPDATE: I ran into another instance of this that the solution above didn’t solve and have provided a solution below.

Another situation where you might run into this, is if you’re tracking a branch that is not the same name as the remote. For instance, say you have a remote branch called otherrepo/master and you already have a local master branch, so you checkout the otherrepo/master branch as othermaster locally. Now even though you do a pull, when you go to push, you will get the rejected error.

To get around this, you will have to specify the local branch in the push command using a colon (:) like so:

git push otherrepo othermaster:master

CFMAIL Hotfix: The ColdFusion mail spool encountered an invalid spool file in the spool directory

Posted in ColdFusion, TechSupport by rip747 on December 11, 2008

http://kb.adobe.com/selfservice/viewContent.do?externalId=kb403683

This really really pisses me off and I’m going to rant and you’re just going to deal with it. I was having a problem sending mail with attachments through CF8.01 and I was getting the following error:

“The ColdFusion mail spool encountered an invalid spool file in the spool directory. The invalid file Mail11111.cfmail was moved to the undelivered directory.”

I couldn’t for the life of me figure out what the problem was. So like any good tech I cut and pasted the error into google and found out that there is a patch for this particular error. Download the patch here.

But see, that’s not what pissed me off. What pissed me off is that this patch is listed NO WHERE on the ColdFusion Hot Fix Technote. I mean really. I check that fucking page every month to make sure that there isn’t anything listed there that I’m missing and the fucking thing saids it was last updated on 08-15-2008, yet this patch isn’t listed there. WTF Adobe!!!

Someone better take the responsability to update that page religiously when patches come out so assholes like me don’t have to go searching the internet for hotfixes for your fucking software Adobe. Thanks for doing your fucking jobs ColdFusion Support Team.

Tagged with: ,

GIT clone over HTTP: who knew?

Posted in Git, TechSupport by rip747 on September 12, 2008

Quick note for others and so I don’t forget.

If you’re behind a proxy (like I am) and try to do a git-clone using the git:// protocol, surely it will fail if you’re firewall is restrictive. The beautiful thing is, you can use http:// protocol instead to get around this restriction.

So for instance, let’s say we want to clone a copy of yubnub from github. In the cygwin command line, you would normally do:

git clone git://github.com/jcnetdev/yubnub.git

However that will fail. Instead do:

git clone http://github.com/jcnetdev/yubnub.git

The only other gotcha is that you might need to setup your proxy in your environment. To do this, simply do:

export http_proxy=http://<username>:<password>@<proxy_ip>:<proxy_port>

where:

username = your network username (someuser)
password = your network password (somepassword)
proxy_ip = the ip address of your proxy server (192.168.1.1)
proxy_port = the port number for the proxy (80)

the full string would look like this:

export http_proxy=http://someuser:somepassword@192.168.1.1:80

Tagged with:

Getting Git-SVN to work under Cygwin

Posted in Cygwin, Git, TechSupport by rip747 on September 4, 2008

This has taken me DAYS to get working and finally i got it. Here are the steps:

Download the Cgywin setup.exe from the Cygwin site.

Next is to READ AND FOLLOW the instructions for setting up Git during the install. The instruction are at the bottom of the page entitled “Install Cygwin”.

After the installation you will need to run “ash rebaseall” from the cygwin\bin directory in a command line in order to update Git-SVN. So open a command prompt (START -> RUN -> CMD) and type in cd\cygwin\bin (or whatever your cygwin installation folder is) and run “ash rebaseall”.

Hopefully this help someone out there

Tagged with: