Forum Stats

  • 3,874,337 Users
  • 2,266,724 Discussions
  • 7,911,824 Comments

Discussions

Install locks on "The provided destination folder has invalid characters"

Some Yahoo
Some Yahoo Member Posts: 4 Blue Ribbon

Running the 18C installer on Windows

Any attempt to set a folder - even the default - yields

"The provided destination folder has invalid characters"

I have tried folders that exist and ones that would need to be created, but no dice.

my folder: c:\Program files\Oracle\18\

Answers

  • Some Yahoo
    Some Yahoo Member Posts: 4 Blue Ribbon

    OK I found it. The name cant have any spaces. What a 1980's problem!

  • Billy Verreynne
    Billy Verreynne Software Engineer Member Posts: 28,945 Red Diamond

    No its not.

    It is a parameter not encapsulated problem.

    c:\Program files\Oracle\18\ is parsed as 2 parameters with parameter 1 as c:\Program and parameter 2 as files\Oracle\18\.

    "c:\Program files\Oracle\18\" is encapsulated and parsed as a single parameter.

  • User_QZ8YD
    User_QZ8YD Member Posts: 1 Green Ribbon

    "No its not" what? Not a 1980's problem? I would say it's a 70's problem, since DOS used spaces on paths.

    Your technical explanation is wrong. If you encapsulate a path, as a single string or whatever, in a language such as Java, you'll still be getting the same problem. That's why there are libraries to deal with paths as paths, not as strings. The answer here is to encode the special characters so the program recognizes it - this is what "escape" means, it's NOT putting a "\" before it as you see around. We can't do it when selecting the path on the installation program, we also can't "encapsulate" the path.

    So yes, it's. It's a problem that I had, and it's a 70's thing.

  • Billy Verreynne
    Billy Verreynne Software Engineer Member Posts: 28,945 Red Diamond

    That's why there are libraries to deal with paths as paths, not as strings.

    A path parameter is a string. But I was not referring to a single string variable used as path, but a path (with spaces) used with other parameters in a single string.

    Parameter encapsulation using quotes is an issue when a single string is used for multiple parameters, as is the case when for example reading parameters from the command line input (e.g. launching Java). In such a case, spaces are interpreted as spaces between parameters - a basic string token parsing issue.

    Yes, it always been an issue. As shown by old Win16 WinExec(), to modern bash. Which is why encapsulating parameters on single input is important - even from a security perspective as explained by the security remarks for WinExec().

  • User_0KFWI
    User_0KFWI Member Posts: 1 Green Ribbon

    Hello, Oracle does not support spaces on the directory. I.e. "C:\Program files\Oracle\18\".

    Therefore, this needs to change to, "C:\Program_files\Oracle\18\".

    Replacing the space with an underscore resolves the issue.

    Thank me later.

  • Billy Verreynne
    Billy Verreynne Software Engineer Member Posts: 28,945 Red Diamond

    Hello, Oracle does not support spaces on the directory. I.e. "C:\Program files\Oracle\18\".

    Untrue!

    Your statement only demonstrates ignorance with regards to parameter encapsulation.

    Read the references I posted. It clearly highlights the ACTUAL issue.