If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Folder Named [C:\Program] Opens Automatically on Start
Each time I launch Windows 98SE, a folder (C:\Program)
automatically opens on my desktop. I checked all start up resources and cannot find anything that could cause this folder to open. I suspect it may be a registry entry, or a bug in the Windows 98SE operating system. Anybody have a solution for this problem?? I have been able to inhibit the folder from opening when I launch Windows by renaming it, however this is only a work around and does not correct the problem. Ted Belben .. |
#2
|
|||
|
|||
There was a web page all about this problem, for quite a while, but it is no longer
available. I am reproducing the info below.... -- Glen Ventura, MS MVP W95/98 Systems http://dts-l.org/goodpost.htm paste The Mystical "Program" Folder In the next few pages I will try to explain as best as I can where the "program folder opening at Startup" problem comes from. It is a long and tedious process to explain since you have to understand many of Windows 9x and some of DOS's features. Please understand this is not an easy read, but if you are here, then it is probably because you want to learn. It has come to my attention that most users, when confronted with a problem, tend to look for a "quick fix". In this case, the "quick fix" does not work in the long run. It will just be a matter of time before the problem resurfaces. The best solution is to re-install the programs in the proper folder. Golem -------------------------------------------------------------------------------- Anyway, lets start with the long and boring details. Everything has to do with the way Windows/Dos interprets command lines. Windows, in most cases (*1), accepts "spaces" to be used when naming folders and/or files. DOS can read these file/folder names, but under certain conditions. That's only when Windows is already running. Even though the problem could happen with some other folder/file names, I will only describe the "Program" folder problem (*2). First of all. A "Program" folder HAS to be present in the root directory to cause the conflict, (duh!). If it is placed anywhere else, (i.e.: "Program Files\Program\" or "Windows\Program"), it will NOT conflict with any Windows operations and will not load the "Program" folder during Windows Startup. It has to be a folder named exactly "Program". If it is anything else, like "Programs" (note the "s"), "Program1", "Programme", "Prog", etc... the conflict will not arise either. It could also be "Program.dir" or any other extension. Yes. Folders can use extensions, though it is rarely done so forget about this one. A "Program" folder does not pop out of nowhere. It has to be created on purpose. Somewhere along the line, you either forced an install procedure to choose the folder "Program" for the placement of files, (could have been a folder like "Program\any_folder\", as long as "Program" is the main folder it is a problem), or a poorly written install procedure chose that folder on it's own. In which case, "bad program". For the "Program" folder to be opened at startup in Windows, everything depends on two folders being named "Program Files" and "Program" and both have to be found in the root directory. Also a call to a command line, not inclosed in quotes, must be made for a program in the "Program files" folder. I will come back to that. These are the three required components needed to get the "Program" folder to open at startup. Lets go on. Some programs, when installed, want/need to have some options run at startup. If these programs install themselves in a folder other than "Program Files", like Lotus Smartsuite that installs in "Lotus" folder, then there is no possible problem. But since 99% of new programs are installed in the "Program Files" folder under some new folder name, then we are setting ourselves up for the "Program" problem. Some of the installed options will be run from Config.sys (very rare, if at all) or Autoexec.bat (DOS based bootup Anti-Virus scans like Norton and AVG6), then some will start from the Registry entries (those that can be seen from "Msconfig - Startup Tab") then the last from the StartUp folder in the Start Menu. Some of the registry entries are the culprits. All programs that place entries in Config or Autoexec, make the path name compatible with DOS by using the short DOS name. So AVG6 will load it's scanner as C:\progra~1\grisoft\avg6\bootup.exe using "progra~1" to replace "Program Files" folder. Back to the problem. Registry entries made by software to start programs during boot process come in three different flavors. 1 - Entries written in DOS short style name, (c:\progra~1\somefo~1\prog.exe). 2 - Entries inclosed in quotes such as ("c:\program files\some folder\prog.exe"). 3 - And then the last that are neither in DOS short form or inclosed in "quotes" like (c:\program files\some folder\prog.exe). These are the problem commands. Forget about the first two. Lets work with #3. Before we go on, you have to take note that DOS uses "spaces" to delimit options or switches given to it's commands. When you send a command to DOS, as soon as it sees a spaces it starts the parsing process. A command like format c: /s /u /q is read as: Command = format Option 1 = c: Option 2 = /s Option 3 = /u Option 4 = /q In this case DOS knows what to do with each option/parameters and acts accordingly. So a command line like "c:\program files\some folder\prog.exe" without quotes looks to DOS as : Command = c:\program Option 1 = files\some Option 2 = folder\prog.exe If you send that same command line inclosed in quotes, like example #2, then DOS sees it as one long command line, considering the "spaces" as being part of the name itself and not a delimiter, and it then either finds the program or not. This is only true in DOS when Windows is running. DOS does not recognize "Long File Names" (thus "spaces" in names), if you start your computer in DOS mode or DOS safe mode at bootup. Since sending command inclosed in quotes is done from the registry, and Windows "is" already running, then DOS will understand LFN. There is something else you have to take into account. If you send a command line to DOS using the "full_name.full_extention" it will only look for that specific prog.extention. If you attempt to run : command.exe from a DOS prompt you will get the error "Bad command or file name", since format.exe does not exist. If you type format.com, the it will launch the "format" program since format.com is a valid program. If you do NOT add the extension and only type the program name, (like "format" only), DOS will start a search for the program in the following order until it finds it or not. (We are getting closer to the "Program" folder problem). It will first look for the desired program in the list of commands hidden inside the "Command.com" interpreter. These commands include "Dir, Copy, Type, CD, RD, etc...". When done, it will start looking for programs with these extensions. First, a program with the "com" extension. If it is not found it will then look for extensions "exe", then "pif", "bat" and "lnk" in that exact order. If, after looking for "com", ... and "lnk" it still finds nothing, it then seems, with Windows's help, to look for "*." (NO extension). The problem is that when looking for "NO" extension, the first ones to be found are the folders themselves. Ah ha!. Folders rarely use extensions. It can be done, it can be useful, but in most cases the extension is not used. A folder like "Program" is in fact "Program.no_extension". So this Folder would be found in a search for something with NO_extensions. Back to our example line from above. If this command (c:\program files\some folder\prog.exe) is sent to DOS, and DOS sees it as: Command = c:\program Option 1 = files\some Option 2 = folder\prog.exe When a registry entry looks like #3 and when it is run (during boot) this is how it is done. Depending on the way a command is sent to DOS, DOS can search for the file in different ways. In our specific case, DOS or "Command.com" receives a request to search for something starting with "c:\program". This in tow means, look in the "C:" drive, in the root "\" folder ONLY for a file/folder named "program". There are more ways for DOS to do the search, but this is the only one of interest for us now. Don't forget. We are talking about a system that has a Program folder in the root directory. DOS will now look in the "C:" drive only, in the root directory "\" only for: 1- program in the list of "Command.com" available commands. if file not found, no error, goes to next search. 2- program.com = if file not found, no error, goes to next. 3- program.exe = if file not found, no error, goes to next. 4- program.pif = if file not found, no error, goes to next. 5- program.bat = if file not found, no error, goes to next. 6- program.lnk = if file not found, no error, goes to next. 7- program. = (note the ".") File/Folder FOUND as C:\program so it stop the search. 8- This is the problem area for me. If DOS does not find any "Program" file or folder, it then seems to finally look for "Program Files" as a last resort. But to be truthful, I don't understand how it finds the added " files" information. (Anybody feel free to explain. I will update the page accordingly). Some additional information provided by Mikhail Zhilin Microsoft MVP. Read his email to me. In our specific example, DOS did find a folder on step 7 so it did not go to step 8 to finally find "program files". So, having found a match, but not knowing what to do about it, since it is not one of it's five recognized executables (com, exe, pif, bat or lnk), plus the unknown executable extension of the "Command.com" list, DOS sends the command back to Windows BUT it is NOT sent back as ONE long command line, as is was received, but as a command plus x number of parameters or options. So, Windows sent (c:\program files\some folder\prog.exe) to DOS as ONE command but, in this case, gets back (command option1 option2) as a reply. Another thing. Since the advent of Win9x, Windows will launch a viewing window if it receives a call for a folder name. In my case, if I click on Start - Run and type c:\lotus a viewing box will open pointing to the Lotus folder. So, all being said and done, Windows gets back command "c:\program" with options 1, "files\some" and 2, "folder\prog.exe". Since it recognizes "c:\program" as a valid command, it opens a window to that folder as it is asked to do, passes along options 1 and 2 that result in nothing being done and no other error message being displayed. Voilà! Now you know WHY "Program" folder opens at startup. THE ABSOLUTE WORST PART IN ALL OF THIS AND SOMETHING THAT ALMOST GOES UNNOTICED, IS THIS. Any time Windows opens the "Program" folder it is at the same time forgetting to run the command it was originally asked to launch. So if the original call was for: (c:\program files\realclip\realclip.exe), Realclip.exe will NEVER be loaded. So in fact the folder opening error is a double error since the original program is never launched as well. Usually people see this problem immediately after an install and reboot. So only ONE "Program" box is displayed. But if someone were to ignore this first instances, there could be many copies of the same folder opened at startup if many calls were made to DOS with commands not inclosed in quotes and not in short form. WHY DO I INSIST THAT THE ONLY FIX IS TO RE-INSTALL PROGRAMS IN "PROGRAM FILES" FOLDER AND THEN REMOVE "PROGRAM" FOLDER? Possible fix number one, not! One of the fixes often suggested is to search Msconfig Startup tab and take note of commands not inclosed in quotes, written in long file name form and that contain references to "Program Files" folder. Once noted, then with Regedit, search for these lines and change them to the short DOS file names (replace all instances of "c:\Program files" with "c:\Progra~1"). As I said. Most of the times you are looking for only one entry. Unless you waited and installed 7 different programs that all used the "long file name, no quotes" method. Why this is not a true fix? Because it leaves the door open to future programs that will install, ask to run commands and place them in long file name form without quotes. So, somewhere along the line the problem will come back. It is not a matter of "if", it is only a matter of "when". Some of the offending programs, when upgraded, updated or patched, will re-write their line in the registry in the original format, so here again the problem could come back. In some cases, just running the program will make it change the registry and it will reload it's command line in the default state. AIM (Aol Instant Messenger) does that everytime you launch the program. The second most common fix suggested, (that was mine a while back), is this one. Search Msconfig Startup tab and take note of commands not inclosed in quotes, written in long file name form and that contain references to "Program Files" folder. Once noted, then with Regedit, search for these lines and change them so they are inclosed in quotes. As before, the user should only find one, unless... Three reasons why this will not work. The first is the same as the first fix. It is only a temporary patch. The problem could come back after new installs or updates or even just running the program, (AIM). Second. Some rare programs refuse to see their lines inclosed in quotes. The quotes will be remove sometime before shutdown, on reboot or the next time the program is run. So the problem will be back as soon after you try to correct it. If you do not have one of these rare programs now, there may come a day when you will. So this is once again a temporary, not a permanent fix. Last. Some also rare programs will not load if inclosed in quotes. They will not attempt to remove the quotes, in this case, but will generate an error message when trying to load. As in the second case, you may not own one of these programs for now, but you never know. When I first suggested to some poster, to inclose ALL commands in quotes, I did not try it myself. When I did, after being told that my fix did not work, I had one of each of these programs. One that remove the quotes and one that refused to launch. Since then I formatted my drive and installed only the bare minimum programs. So I can't remember what these programs were. I though RealCilp was one of the offenders, but is works just fine today. If I ever find them again, I will add the information. Some other user mentioned that IView is one program that removes quotes and LView is one that refuses to launch if inclosed in quotes. Don't know either of these programs. -------------------------------------------------------------------------------- Before we leave. Some other regular in one of the Microsoft groups, Mikhail Zhilin, a Microsoft MVP, usually posts a reply containing a BAT file name "program.bat" that grabs the name of the offending program(s) and writes the names to a TXT file. This is the best batch work I have ever seen. The purpose of the batch file is to see the command/program being called without having to use Msconfig. Once used, the user knows what program to look for in the registry. Since DOS looks for programs extensions com, exe and BAT, it finds program.bat before it finds folder Program. It then executes the complex BAT file and returns to Windows. Since DOS did recognize the command and ran it, Windows doesn't open the Program folder at startup. If you go back and take a look at the search order, you will notice that a BAT file will stop the search process on line 5 instead of 7 (or 8). The only "one time" problem I had with this, was one guy, (and up to now, only ONE guy) thought the the BAT file was a FIX to his problem. Since the Program folder no longer opened at startup, he thought he was cured. No so, as you must now understand. The BAT program is a diagnostic tool to find the offending line and should be use only for that purpose. If you would like a copy of that BATCH file: [click here]. Hope this long winded explanation cleared everything up for everybody. Golem Write to me if you have comments or suggestions regarding this page, and this page only. I pick up my messages every day but I never reply. I NEVER answer technical questions from this address. All questions, not related to this page, will be deleted without further notice. Technical or support queries should be directed to the proper newsgroup. Updated December 24, 2000 -------------------------------------------------------------------------------- A few off topic P. S.'s (*1) I mentioned "Windows, in most cases, accepts "spaces"", because sometimes even Windows is at a loss with spaces in file names. Try this at home. I am very confident you will get the same result. Open Windows Explorer and go to any folder. Choose any text file (just to be on the safe side), highlight it, hold down the "Shift" key and right-click on it. Choose "Open With..." from the menu. UNCHECK the "Always use..." box and run down the list of available programs. You will almost surely find an entry for a program named "Program". Try associating your text file with that program. You will get the error message that the program "program" can not be found. Why is this??? Because some programs, when adding to the "Open With..." menu, do not inclose their path in quotes. So even though Windows is supposed to understand "spaces" in file names for Windows based programs, it does not always. Netscape is one of the many Windows programs that does that. QuickEdit32 is another and also AIM (Aol Instant Messenger). To remove the "Program" listing you have to edit the registry and inclose all calls to "c:\program files\any_folder\any_program" under all shell-(open/print/play)-command (and some others). It is a very long and hard process. Worst of all, it has to be done often since installing new programs or updating old ones re-creates the problem. In fact I also learned that each time you use AIM, it changes the value of the string in the registry, removing the quotes, and the "Program" program comes back in the "Open With..." list. (*2) You can create the same problem as the "Program" folder being opened with some other folders. I accidentally did this. I installed Real Player in the "Program files\Real" folder. I installed RealClipboard program in "Program files\Real Clip" (note the name and space). When trying to launch (c:\program files\real clip\realclip.exe) from the registry, the Real folder opened at startup and the Realclip program failed to launch. If I remember I think this is where I had the problem with command in quote giving error message. I don't feel like trying that again. /paste "Ted Belben" wrote in message ... Each time I launch Windows 98SE, a folder (C:\Program) automatically opens on my desktop. I checked all start up resources and cannot find anything that could cause this folder to open. I suspect it may be a registry entry, or a bug in the Windows 98SE operating system. Anybody have a solution for this problem?? I have been able to inhibit the folder from opening when I launch Windows by renaming it, however this is only a work around and does not correct the problem. Ted Belben . |
#3
|
|||
|
|||
Yow. There is good info in there. But who is willing to memorize it? I
do believe, though, further investigation is warranted, if one does come up with a "C:\Program". -- Thanks or Good Luck, There may be humor in this post, and, Naturally, you will not sue, should things get worse after this, PCR "glee" wrote in message ... | There was a web page all about this problem, for quite a while, but it is no longer | available. I am reproducing the info below.... | -- | Glen Ventura, MS MVP W95/98 Systems | http://dts-l.org/goodpost.htm | | paste | | The Mystical "Program" Folder ....snip |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Folder won`t stay where I put it | [email protected] | General | 13 | August 29th 04 06:41 PM |
Startup Folder Items Won't Start Up | Wayne | General | 10 | August 18th 04 02:52 AM |
Application opens automatically ...... | JCW | General | 2 | August 11th 04 04:30 PM |
JCORE.DLL: invalid page fault error | Dobsons | General | 14 | August 5th 04 03:39 AM |
HP folder start up | Deb | Setup & Installation | 0 | July 4th 04 08:30 AM |