Jump to content
The Uniform Server Community

Solution to "space was detected" problem?


microbe
 Share

Recommended Posts

Hey folks,

 

I have an existing distributed application that I would like to upgrade to US.

 

The problem is that users already have the software sitting in c:/program files/application which means I can't make new versions c:/application or I break backward compatibility and I don't even want to think about the implication for future patches.

 

Is there a solution to the issue of installing US in a directory that has a space in its name?

 

Thanks in advance.

Link to comment
Share on other sites

Background:

Plugins and components (legacy) used in Uniform server must not contain a space otherwise they will fail.

 

New versions of Uniform Sever were going to address this issue however with the introduction of Vista it had problems running servers from “c:/program files/application” hence restriction of no spaces in paths remain. It forces a user not to use this folder neatly resolving the Vista issue.

 

Users generally install Uniform Server at the top-level of a disk drive and never see the “no spaces” warning. However they can install in sub-folders. Because start and stop scripts were not modified the restriction of no spaces remains.

 

Older versions of Uniform Server had a similar problem however they mapped the server to a virtual drive letter eliminating the problem. New versions of Uniform Server dynamically rewrite all absolute paths avoiding the need for a virtual drive. These scripts assume no spaces hence restriction is in place for a good reason.

 

Solutions.

1] Install Uniform server at a disk’s top-level

2] Installing in sub-folder ensure there are no spaces

3] Rewrite scripts to allow spaces (some components will have issues). This solution will not resolve the Vista issue when using “c:/program files/application” because of its limited access rights.

 

"I have an existing distributed application that I would like to upgrade to US.

The problem is that users already have the software sitting in which means I can't make new versions c:/application or I break backward compatibility and I don't even want to think about the implication for future patches."

 

I don’t really understand the problem! However proposed solution may help

 

4] Proposed solution

You can install (extract) Uniform Server to any location the paths can include spaces.

However you cannot run servers directly from this location because of these spaces.

Solution is to use the old Uniform Server trick of mapping a folder to a drive letter

 

For example if you have extracted to folder C:\zz yy

In this folder create a batch file Run.bat with the following content:

subst W: "C:\zz yy"
w:
cd UniServer
start Start.exe 
pause

Maps drive leter “W” to folder "C:\zz yy"

Changes working drive to W

Change working folder to UniServer

Start Unitray (start Start.exe)

After testing you can delete pause

 

Server sees path W:/UniServer and updates accordingly.

 

The above is a proposal however I think you will still have a problem with Vista when using folder “c:/program files/application” limited access rights.

 

Hey! You wont know until you try it.

 

All the best

Ric :)

Link to comment
Share on other sites

The problem is that users already have the software sitting in c:/program files/application which means I can't make new versions c:/application or I break backward compatibility...

 

I commiserate with you on this. I suggest using the 8.3-style names which should work for this; it's worth a try. Instead of "c:/program files" use "c:/PROGRA~1" (I assume you're on a 32-bit system). This has been known to work in other environments where spaces weren't allowed.

 

So now you have two solutions to try :)

Good luck, and PLEASE post back if either solution works.

Bob

Link to comment
Share on other sites

  • 1 month later...

Earlier versions of US used a similar technique. They even detected what drive letters were being used and automatically assigned next free drive. B)

 

Running multi-servers uses another drive letter for each server; which some users disliked intensely.

For portability you have to consider a user may have assigned that drive letter. This means either a manual or automatic update of the drive letter you wish to use. :)

 

Dynamically rewriting paths allows you to run any number of servers on the same drive (letter). For a single server the advantage may not be apparent. However if you wish to test for example a proxy server with several backend servers Uniform Server has that capability with all servers running on the same drive. B)

 

A real commercial server for performance reasons is generally installed at the disk root and SPACES are not an issue (Like they do not exist) :)

 

In a similar vein Vista imposes restriction on "C:\Program Files" hence another good reason for imposing the no space restriction. Never ever install US to this folder or any other server. :)

 

Sorry for the rant but spaces remain a pain for legacy software and even new software. I am happy to be proven wrong! Try installing individual server components on Vista in folder "C:\Program Files" :angry:

 

All the best

Ric :)

Link to comment
Share on other sites

  • 2 months later...

This could be even better, cause you don't have to write new path every time you move your server:

 

subst W: "%CD%"
w:
Start.exe

 

 

Can I suggest US to distribute such batch script somewhere (ie in extras folder + accompanying readme to explain what these "legacy" stuff really mean). When US detect "space" in the path it shall report this as it does now but also point to that readme and script as possible workaround as it would be big timesaver for many people

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...