microbe Posted July 27, 2010 Report Share Posted July 27, 2010 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. Quote Link to comment Share on other sites More sharing options...
Ric Posted July 27, 2010 Report Share Posted July 27, 2010 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-level2] Installing in sub-folder ensure there are no spaces3] 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 solutionYou 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 yyIn this folder create a batch file Run.bat with the following content:subst W: "C:\zz yy" w: cd UniServer start Start.exe pauseMaps drive leter “W” to folder "C:\zz yy"Changes working drive to WChange 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 bestRic Quote Link to comment Share on other sites More sharing options...
BobS Posted July 28, 2010 Report Share Posted July 28, 2010 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 Quote Link to comment Share on other sites More sharing options...
gapa Posted September 6, 2010 Report Share Posted September 6, 2010 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 Quote Link to comment Share on other sites More sharing options...
Ric Posted September 7, 2010 Report Share Posted September 7, 2010 Earlier versions of US used a similar technique. They even detected what drive letters were being used and automatically assigned next free drive. 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. 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 bestRic Quote Link to comment Share on other sites More sharing options...
Borszczuk Posted November 17, 2010 Report Share Posted November 17, 2010 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.