Re: Problem when I boot...

From: Vanguard (see_signature)
Date: 01/05/05


Date: Wed, 5 Jan 2005 15:24:10 -0600


"CHOCHILAU" <CHOCHILAU@discussions.microsoft.com> wrote in message
news:7E096DAD-0FEA-4DA0-A57B-7FB6164D3F0F@microsoft.com...
> When I boot, I get a message that "Windows cannot find C:Program. Make
> sure
> you typed the name correctly, and then try again." I click on OK and
> the boot
> process completes. While only annoying, it would be nice if it did not
> occur.
> --
> Thanks, regards, LAU

You have an invalid or remnant entry in a place used to load programs on
Windows startup. Could be:

Registry:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
        (for you login)
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
        (for everyone's login)

Startup folder (yours or All Users)

Task Scheduler (look for events scheduled to run on Windows startup or
on login)

There are some other places where a program can be configured to load on
startup but start with these. Of course, you could just use
msconfig.exe to look at the startup programs to notice which one has the
invalid entry of where to find the program to load.

What's likely is that a program neglected to enclose its load string
within double quotes. It contains spaces so parsing ends at the first
space figuring that is the program and the rest are parameters to that
program. So an entry like:

    C:\Program Files\someapplication\someprogram someparameters

ends up getting parsed per the space delimiters as:

    Program = C:\Program
    Parameters = Files\someapplication\someprogram someparameters

It should've been entered as:

    "C:\Program Files\someapplication\someprogram" someparameters

Some uninstalls forget to remove these entries or screw it up. Some
cleanup scanners that remove malware screw up removing this entry. Some
programmers for install programs or users entering this stuff forget to
enclose the string identifying the program within double quotes if it
happens to include spaces, or they neglect to use double quotes within a
variable that represents the path to the executable forgetting that the
path might have spaces. If the path to the executable has spaces then
the start string SHOULD be double quoted. However, sometimes the load
works okay without the double quotes, and sometimes it doesn't. Since a
program can be executed without specifying its extension, is

c:\tools\prog setup\inst

supposed to run a program called "prog" with parameters that tell it
where to find an installation path or file under a relative directory,
or was it meant to run the program "inst" and the path to it has the
space in "c:\tools\prog setup\"? In a DOS shell, see what happens when
you run:

    dir c:\program files\

without any double quotes. It won't find anything (unless you happen to
have a subdirectory just named "program"). Now run:

    dir "c:\program files"

The command interpreter has its defaults on how to guess what might've
been meant by the start string, but do you really want it to be
guessing?

If the entry only has "C:\Program" then it'll take work to figure out
what application was installed but screwed up its start string or what
application got removed and whatever removed it screwed up. However, if
it has "C:\Program Files\..." then you can probably determine what was
supposed to get loaded by this start string and decide if you want to
keep it or not. If you want to keep it, double quote the program
portion of it (i.e., the part that shows the path and file for the
program's executable). If you don't want this program to load, delete
this registry key (you might want to export it in case it really was
needed but had to be repaired by double quoting it command portion).

However, in the case of a registry key that had an unquoted start string
that has spaces in the path to the executable, the typical action is to
open an instance of Explorer that shows that path - *IF* a correct path
were specified. However, it is highly unlikely that you have a path
called C:\Program (you do have a path called "C:\Program Files"). If
you use the Start -> Run menu to enter just C:\Program (be sure to wipe
the " Files" string that it would normally add because it assists the
user by listing matching objects), is that the popup you see?

System32 Folder Opens When Logging on to Windows
http://support.microsoft.com/default.aspx?id=170086

In looking at my Run keys in the registry, I just noticed a couple data
items under those keys that were:

    zBrowser Launcher = C:\Program Files\Logitech\iTouch\iTouch.exe
    ClipMate6 = C:\Program Files\ClipMate6\ClipMate.exe

Those are bad entries since they should have been double quoted due to
the spaces embedded in the paths to their executables. They load so I
know those run items do work but they really should be double quoted to
ensure the parser knows exactly which part is the fully qualified file
path and which are parameters, if any, to the executable.

-- 
_________________________________________________________________
Post your replies to the newsgroup.  Share with others.
E-mail:  vanguard_help AT yahoo.com  (append "#NEWS#" to Subject)
_________________________________________________________________


Relevant Pages

  • Re: Reflection Question and MDI question
    ... Ok that given why are you compiling them as executables.. ... Private strUserID As String ... Private strUserType As String ... I want to load these programs in an MDI form. ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Update existing values incrementally w/UPDATE SQL
    ... I think it would be safe to say, use the Dim statement any time you are ... Dim basically tells vba that you want to initiate a new variable. ... As far as quotes go, this was one of the trickiest ... Consider vba's interpretation of a string: ...
    (microsoft.public.access.modulesdaovba)
  • Re: VBA macro stops executing on Word 2003 but works on Word XP
    ... The macro executes perfectly. ... Dim PatFullName() As String ... ' Load Provider Name into ProvPath var ...
    (microsoft.public.word.vba.general)
  • Re: VBA macro stops executing on Word 2003 but works on Word XP
    ... The macro executes perfectly. ... Dim PatFullName() As String ... ' Load Provider Name into ProvPath var ...
    (microsoft.public.word.vba.general)
  • Re: Update existing values incrementally w/UPDATE SQL
    ... and in the book; Access 2007 VBA Programmer's Reference. ... As far as quotes go, this was one of the trickiest ... Consider vba's interpretation of a string: ... when an SQL is processed (I use an SQL example because it is the most ...
    (microsoft.public.access.modulesdaovba)