Jump to content
View in the app

A better way to browse. Learn more.

The Uniform Server Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Solution to "space was detected" problem?

Featured Replies

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.

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 :)

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

  • 1 month 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

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 :)

  • 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

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...

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.