Running applications from a network drive

Posted on 2009-02-16
Last Modified: 2013-12-17
I asked the same question in a completely different zone, but didnt receive an answer. The programming zone is probably more suitable for this type of question.

My question is this: Is developing a software, which is to be run directly from a network drive, any different than developing a software who runs from the local harddrive? (except the obvious that working from a network drive might possibly make it run much slower)

And the reason I want to know this is because my company distributes alot of different applications which are to be installed locally on computers. But we frequently get the question whether these software can be run directly from a network drive instead. Most of the applications, come with very poor documentation so I thought I might try to experiment a bit with this myself.

What I had in mind was that I could perhaps modify the .msi packets. Making sure that the necessery registry entries for the software are installed on the local computer, and then that the programfolder/files are installed on a network drive.

However, the program I have been experimenting on doesnt seem to work this way. But the curios thing is that I can copy the program folder to a second internal harddrive on the local computer (E:) and run it from there without any problems. So in what lies the technical difference between running the application from a network and a local HDD? I have been trying to use "process monitor" to observe excactly what the difference is, but I cant see any obvious error messages - but perhaps I just dont know what to look for...? there anything in general that I can do to make software executable from a network drive - by for example modifying the msi-packet?
Question by:andre_st
    LVL 29

    Accepted Solution

    It depends on what you mean running application from a network drive.  For example:

    Installing the application directly on the server
    Installing the application from the local machine to a mapped drive.

    If you're meaning the first option than the problem is probably dll or registry related, because the dll and registry settings are installed on the server the application cannot start as dll's haven't been loaded and/or registry settings are unavailable to the local system.

    If you're referring to the second option than you need to make sure that you've able to install it to the UNC path rather than a drive mapping as this can have an affect on the application finding the install path correctly.

    The problem also with the second option is that you'd need to have the registry settings and dll's loaded on other systems accessing the application for example on computer1 and computer2.

    If you have an independant application for example one that doesn't require installation like dos programs and/or those that can call information relative to the install path than these should work.  As an example I use AutoIT Exe Applications from the server to install other applications and/or run as an independant application.  I use relative paths inside the scripts so that the application will run from any system local, network, cd etc..

    Anyway I hope that made sense.


    Author Comment

    Thanks for your reply!

    The I way I installed it was by modifying the msi-packet so that I installed, on the server, only the program files on a shared, network folder. And then I installed only the part of the msi-packet on the local machine, which contained the registry entries. This application only needs access to program files (to my knowledge) , stored in the program folder. It does not require files beeing copied to system folders. By doing it this way, it should be fairly simple to distribute the software in a large computer environment - deploying msi-packets to all the computer clients, only containing the registry entries and shortcuts to the application on the shared network folder.

    But basically this installation method is the same as your second option "installing the application from the local machine to a mapped drive"...or am I wrong?

    Or perhaps this way of modifying the msi (with one server installation for program files, and one "registry" installation on the local computer) simply isnt possible with network drives/folders?

    But as I mentioned, I was able to simply copy the program folder from the shared network folder/drive and copy it to a second HDD on the local machine, and the program seems to be able to run from there... How does one explain that?

    I havent tried to type in the UNC path during a "normal" installation of the software. I will try it now though, but that solution would also mean that every client would need to install (or try to) install the program files to the shared folder on the server. So I guess some modification is needed.
    LVL 69

    Expert Comment

    by:Éric Moreau
    >> Is developing a software, which is to be run directly from a network drive, any different than developing a software who runs from the local harddrive?

    which language? if you are using .Net (any version before VS2008 SP1), you will received a security error that you can fix by changing the security settings.

    Other then this aspect, you will need to be cautious not to save anything user-related on the network drive.

    Author Comment

    Which language? Well, this is a basic enquiry about programming in general - and if the programming language needs to be written in a specific way if the application is to be run from a network drive. I.E. I am interested in whatever knowledge you may have about the subject.

    With your post, you imply that there is some specific considerations to be made, concerning security. But without any further information on how this can be applied to my problem - I am still in the dark here.

    Please guys! I need some input!
    LVL 12

    Assisted Solution


    I highly recommend against a solution like you mention, simply because every network is a bit different.  Security concerns such as firewalls and other software/hardware on the clients computers and/or networks could easily break your apps from working correctly.

    I work in the software development industry, and guarantee that even though the users/customers tell you nothing will change things always do.  And when they change something outside of your app and it breaks your app (or makes it look like your app is broken is more correct) it makes you look bad.  You have much more control over the local machine, or at least it takes the network out of the equation.

    If you do want something sort of like a network installation, you could look into running your apps using something like Terminal Services, or better yet TSWEB.  I believe Windows server 2003 and 2008 both support TSWEB, and it works darn well.  The user can have a shortcut on their desktop (Just like a locally installed app) and it runs almost exactly as if it was on the local machine (with some exceptions).  The apps run very fast, and one advantage is that you can even run them from a URL over the internet or an intranet if desired.

    For more info, you can google TSWeb or start at this link:

    As the others stated, it is certainly possible to do what you want.  But there is no simple answer to what the issues you will encounter will be.  Setting security would just be a first step, and likely every client you try to install with would have a different set of issues to resolve for an install such as this.

    Author Comment

    Thanks for your reply jmcmunn!

    Thanks for the warning about running software from the network. I am aware about running applications form TS, and TSWEB. That is a very good solution, but since the applications get executed on the server - it set high demands on the serverpower, and speed of the network. Many of our customers are lacking both.

    I have sort of given up on this perticular problem as I haven´t been able to find an obvious pattern - why this works for some applications and not for others. I guess I have to enlist to a programming course to really understand this thing ,-)

    This question has been open for quite a while, so I will be closing it now.

    Featured Post

    How to improve team productivity

    Quip adds documents, spreadsheets, and tasklists to your Slack experience
    - Elevate ideas to Quip docs
    - Share Quip docs in Slack
    - Get notified of changes to your docs
    - Available on iOS/Android/Desktop/Web
    - Online/Offline

    Join & Write a Comment

    Suggested Solutions

    I annotated my article on ransomware somewhat extensively, but I keep adding new references and wanted to put a link to the reference library.  Despite all the reference tools I have on hand, it was not easy to find a way to do this easily. I finall…
    A list of useful business intelligence software.
    This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
    The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.

    728 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    24 Experts available now in Live!

    Get 1:1 Help Now