views:

182

answers:

1

I have a strange problem that I don't really know how to handle.

In addition to developing a new ASP.NET site, I have to support the old "Classic ASP" site. It's written in VBScript with a batch of Javascript functions as well. Many of the Javascript functions are in 'include files'. Debugging these hasn't been a problem once I learned how to get VS2005 to attach to an IE process.

Everything runs fine on our production system (who's security is controlled by another group - this is a military installation). However, I have a fix for an obscure bug that needs to be fully tested and some functions don't run under the "local" copy of the website I have running on my PC.

For the record, I'm running IIS 5.1 on XP.

The problem is that SOME Javascript functions are running "OK" on the production server but they don't appear to be defined on my PC when used as a server. What's happening is that the previous programmer, for some reason, decided to put some functions in a series of file that, according to the comments, simulate the "require_once" function in PHP. These ASP files with Javascript functions are apparently read like a file into a variable, at which point the script then loads these functions into memory with "ExecuteGlobal thiscode" (where 'thiscode' is the variable he read the code into).

As near as I can tell, these functions aren't sticking around when the site is run on my PC's IIS server. The do stick around on the production server. The current asministrators of the production server don't know much about the setup of this 'legacy' application.

Does anyone out there know at least what direction I should be looking? I have no idea if I'm missing a setting or something in the server's configuration... I do know that the "require_once" script is finding the files just fine, reading them in and the "ExecuteGlobal" statement runs without error. I just can't figure out why a button that goes to a Javascript function for it's "OnClick" response works in production and fails on my PC when everything else works fine (sql access, security, etc)

The development/test box(es) is/are IIS 5.1 on XP Pro. The live box is IIS 6.0 on Windows Server 2003. The new development box is IIS 7 on Vista Business.

Our group doesn't have the money to buy a new server and pay for space in the building where all the servers go so turning a spare box into a Server 2003/IIS 6 box isn't an answer (thought it would be if I were in charge).

If I could even tell the support personell who are responsible for the live server where to look for some setting that might be different on 5.1 (which I could look up and compare with what they have)... I just have run out of ideas here.

A: 

Not entirely sure where to start, but it would help to make sure your production and test environments are running the same version of the scripting engines.

AnonJr
That's the direction I'm headed at the moment. I've just been issued a new PC for development and trying to get the environment set up there. It's Vista Enterprise where the old machine was an XP Pro box that a previous developer had extensively modified before I inherited it.
David
Production is running IIS 6.0, this XP box is running IIS 5.1, the new Vista workstation runs IIS 7.0. Can't truly mirror the produciton environment becuase there's no money to buy a server and put it in the building that all servers have to go (by Air Force doctrine on this base). Can't run 6.0 on the XP box. Can't figure out what differences there might be in "ExecuteGlobal" between 5.1 and 6.0. I'm hititng an absolute brick wall.
David
Do you have VMWare or something similar available?
aehiilrs
I was referring to the version of VBScript used in test and production - it is independent of the version of IIS used. Are all of them running the same version of the Windows Scripting Engine?
AnonJr