?
Solved

Running applications from a network drive

Posted on 2009-02-16
6
Medium Priority
?
1,250 Views
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...?

So...is there anything in general that I can do to make software executable from a network drive - by for example modifying the msi-packet?
0
Comment
Question by:andre_st
6 Comments
 
LVL 29

Accepted Solution

by:
matrixnz earned 750 total points
ID: 23648307
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.

Cheers
0
 

Author Comment

by:andre_st
ID: 23648613
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.
0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 23649324
>> 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.
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

Author Comment

by:andre_st
ID: 23657843
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!
0
 
LVL 12

Assisted Solution

by:jmcmunn
jmcmunn earned 750 total points
ID: 24211130

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:
http://technet.microsoft.com/en-us/library/cc771908.aspx

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

Author Comment

by:andre_st
ID: 24212415
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.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The core idea of this article is to make you acquainted with the best way in which you can export Exchange mailbox to PST format.
The main intent of this article is to make you aware of ‘Exchange fail to mount’ error, its effects, causes, and solution.
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…

807 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