Batch file only runs at command prompt. Run through Explorer causes obscure error.

I haven't tried other batch files on our customers server yet, but a simple batch file that runs INSTALL.EXE (a VB app) with a few parameters, where all files are located in the same folder, causes a type of "file not found" error with the exact verbiage of :

"Cannot find the file 'C:\temp\xxxxx.bat' (or one of its components). Make sure the path and filename are correct and that all required libraries are available."  

How can it not FIND the file when I'm double-clicking on it to generate this message LOL.  The account is Administrator and the files do not have any special security on them.  If I install the program on my own workstation using various operating systems including Windows 2000 they work fine.  This is our only customer who's run into this so far.  In all my years of experience (18+) I haven't run across this before.  It seems as if there's something affecting the OS as to not let it run BAT files from within the OS.

If I shell out to a command prompt and CD to the directory to run the BAT file, it works fine.  This would normally be a perfectly fine work-around, but I feel that the root cause is affecting one of my other VB apps that also shells to DOS to run instructions.
z0nerAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

_nn_Commented:
A few things you could check :
- in My Computer / Properties / Advanced / Environment Variables : is the ComSpec one correct in the system group ?
- type 'assoc' in a cmd window, does it have '.bat=batfile' and '.cmd=cmdfile' lines ?
- does the registry look normal in HKCR\batfile\shell\open\command ?
0
Netman66Commented:
Check the file association for the .bat extension.

To test if it is the association change the extension to .cmd and try it.

Advise.
0
Mark BurdickLead Sales Engineer - Public SectorCommented:
It sounds like the "or one of its components" is the likely culprit. When you open a CMD window, you pass whole set of environment variables to all command that you run. One, some, or all of these may not be getting passed correctly to the batch script you are trying to run.

Here are a couple of things to do:

1) Make sure that everything in the script contains full paths. Don't rely on the environment variables to allow the script to find files that are on the path.

2) Expand the variables that you need in the script before executing any commands.

3) Change directories within the script to ensure that you are running the commands within the right "contexts".
0
Protecting & Securing Your Critical Data

Considering 93 percent of companies file for bankruptcy within 12 months of a disaster that blocked access to their data for 10 days or more, planning for the worst is just smart business. Learn how Acronis Backup integrates security at every stage

darth_wannabeCommented:
I agree with the above.....wherever you reference other files in the script, define the whole path. for instance, rather than  INSTALL.EXE have it be C:\DIRNAME\INSTALL.EXE

Also, you are double-clicking the actual file, and not a shortcut or something?
0
z0nerAuthor Commented:
Finally figured out what happened.  Unknown to the customer, a previous tech had renamed CMD.EXE to "DosBox.EXE".  This caused the install.bat file to choke, as well as our VB app that was hard-coded for CMD.EXE.  I guess you can't assume anything nowadays :-)
0
SpazMODicCommented:
PAQed, with points refunded (500)

SpazMODic
EE Moderator
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows 2000

From novice to tech pro — start learning today.