Running Xojo .exe from server

We are about to begin alpha testing a Xojo desktop application for a large customer. The client recently let us know that rather than installing on each user’s machine, they would prefer to be able to deploy the application so that a single copy of the executable lives on a network share without having it installed it on each user’s machine.

There will be tens to hundreds of simultaneous users. Fortunately, the application keeps all user-specific preferences, etc. in the user domain (config files and registry). It does read from (but not write to) a couple of XML resources that are in the executable’s directory.

We don’t have any experience with implementing this scenario with a Xojo app on a Windows network, and I’m wondering if it will work (well). Besides all potential users needing to have the proper permissions on the application’s directory, are there any non-obvious considerations?

Will Windows load the entire executable image into memory, or might it need to periodically fetch page(s) from the server image? Are there any other performance implications? If users create a shortcut to the application on their local machine, will it resolve properly when the executable is updated (assuming the name remains the same)?

Virtually all client machines will be Windows 7, though there is a small possibility that a few will be XP.


Wow, I didn’t think companies still tried this.

I have no idea if it will work, but I’ll offer anecdotal information:

A company I worked for around 2001 or so had a client app (written in PowerBuilder) that several of our customers deployed by putting the app on a network share. They had lots of problems, most notably slow performance as the DLLs were accessed across the network. But there were other strange issues with locking and corruption. It was a major source of support calls. I believe we eventually got them all to install the app locally.

Obviously this was a long time ago, so maybe these issues are no longer relevant.

I deploy a Windows Xojo application to about 150 users over a large network using a simple DOS batch file. Where I work, IT would have taken forever to get me a place on a server and then all the users would have to have permission to read that. I short circuited IT and placed the following batch file on each of my user’s home directory.

echo off
if exist q: (net use q: /delete)
REM This is my desktop with \Production_EDIS set to sharable and read by everyone
net use q: \\2UA1071W8Y\Production_EDIS
if exist q: (goto :checkforlocaldir
) else (goto :networkerror)
set DEST="%USERPROFILE%\My Documents\EDIS_Reports"
if exist %DEST% (goto :startcopying
) else (mkdir %DEST%)
goto :startcopying
echo Error linking up to network drive
goto :end
cd %DEST%
REM copy over if the files on q: are newer than the ones on the user’s computer
xcopy q:. /d /y /e /s
if exist q: (net use q: /delete)
cd %DEST%

Then I make a short cut on the user’s desktop pointed to the batch file. After four year, I have never had a problem. I do a site visit to install the app but I can do the training at the same time. Also, I get to meet my users, face to face.

On Win7 each attempt to start an executable file on a network share will lead to silly security questions “are you sure to start/run/open this file” even if your software is codesigned. I would create an Innosetup installer writing your app in users’ local app Folder ({localappdata}\Programs) . This Folder doesn’t require administrator priviledge.

Are you sure it isn’t deployed on Terminal Server? In that case a single executable ‘lives’ for multiple users.

I’ve been doing this at work for a couple of years with no issues. The users do end up having to click the ‘Run’ button, but that’s not been a problem. It becomes a habit for the users. I have a shortcut on each users desktop that points to the executable on the file server. As far as performance… I’ve never heard any complaints and it saves me time when I have to update the software.

It seems to work pretty good on Windows or Linux servers.

Pity. I have run into that in testing, but was hoping that it would not happen with a code signed app.[quote=50367:@Alexander van der Linden]Are you sure it isn’t deployed on Terminal Server? In that case a single executable ‘lives’ for multiple users.[/quote]
I’m sorry, Alexander; is that question aimed at me, or someone else? I don’t understand.[quote=50373:@Johnny Harris]I’ve been doing this at work for a couple of years with no issues.[/quote]
That is good to know. At least we should try it, assuming the client is prepared to have users deal with the security prompt…

Thanks to everyone for their input so far.

I have a program for the students at my School of Architecture. It is placed in a Windows server and all students see it trough a virtual disk that mirrors server folder.
There is no problem. And updating is very easy as well.