Windows App Deployment

M

Michelle

Hello! I just have a quick question, if I may. I was wondering what
benefits, if any, one of these deployment methods has over the other.

These are for in-house .NET windows applications that are currently
only used at our Head Office (but may be expanded in the future)

Method #1:
Using a setup (setup.exe/.msi), install the application on the
customer's PC.


Method #2:
Create a directory on a web server and copy all application files and
dependencies to the bin folder in that directory, add a shortcut on the
customer's PC that points to the .exe on the web server.


Thank you in advance!
Michelle
 
J

Jeff Davis

Michelle,

As you may already know, the biggest challenge with desktop applications is
management of upgrades and patches as well as hardware requirements. I
worked on a system that was implemented similar to method #2 (we put the
application on a file server. shared it, and ran an install on each client
for MDAC). This method was great when it came time to implement updates /
patches to the application.

We found method #1 to be harder to manage due to the constant changes we
made in the application. A solution was to implement version checking in
each application to ensure the clients always used the most recent version.

Another possible solution would be to create a term server portal into the
application. I've seen applications run that way, although they were
typically slow. Might be something to look into if you only have a small
number of users.

I've found that more and more offices are converting those windows desktop
applications to web applications. This is the best solution since it allows
you to control access to the applications and perform upgrades since the
application lives on a web server.

HTH
 
M

Michelle

Hi Jeff,

Thank you for your reply. I am currently using method #1 and do have
it so that my app checks what version is running on start up and will
ask the user if he/she would like to install the latest version, if one
exists. I have thought about switching to method #2, but I was
wondering if the app would run slower since the executable and all
required assemblies are stored on a web server instead of on the user's
PC. Would you know?

Thanks!
Michelle
 
P

Phill. W

Michelle said:
I was wondering if the app would run slower since the executable
and all required assemblies are stored on a [web] server instead
of on the user's PC.

Each assembly will load more slowly - you might consider adding
some of them to the Global Assembly Cache on the client PC's
- but once they're up, JIT-linked and actually running, there should
be no discernable difference; a good database retrieveal should far
outway any detectable difference.

HTH,
Phill W.
 
C

Cor Ligthert

Michelle,

Method 2 needs very much bandwidth

Method 3 Webapplications needs ver few bandwidth

Method 4 Terminal applications are a mix between 1 and 3

I think that your method 1 is the future, because it needs bandwidth only
when you update.

Just my thought,

Cor
 
G

George Shubin

And now for some crass self-promotion....

Take a look at www.dxloader.com.

I wrote and use it for keeping my clients' software updated. Whether
applications reside internally or across the Internet, it saves me a lot of
driving, and makes for very easy software upgrades.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top