M
Michael.Suarez
We are currently in the process of making the switch from VB6 to .NET
at my company. Currently, all of our VB6 executables reside on a
network drive and everyone has a shortcut on their desktop to the each
of the programs on the network. There are a few DLL's that are common
to most of the apps. The most recent copy of each DLL is copied to and
registered on each computer at startup via a login script.
Deployment of new program versions and new DLL's is easy for us, as it
is simply a matter of dropping the files into their appropriate folders
on the network. If someone requires a version of a dll newer than the
one they have, they simply restart their computer.
As we move into C# and .Net i want to get a feel for what all of our
options are.
For example, we can probably start keeping the .NET versions of our
DLL's on the network drive and do away with the login script.
The problem is with doing this is, you can't overwrite a file that is
in use. If I drop a file on the network (whether it is an exe or a dll)
and someone is utilizing that file on their own machine, then windows
won't allow me to overwrite a file in use.
Currently if I am putting out a new version of a program, I either have
to wait til later at night when noone is using the program, or if only
people whose desks are around me are logged on, ask them all to log off
for a sec while I put out a new version. But it can be a real pain in
cases where someone on the other side of the floor is logged on and
away from their desk (or worse, has left the office for the day).
So basically what I am asking is, with all of the new technologies
available to .net, does anyone have any suggestions for a more robust
and simple to maintain deployment model?
I read about clickonce deployment, but that promotes a completely
different model than what we currently implement, whereby everyone has
their own local copy of the program, and it checks the deployment
server for a new version behind the scenes, downloads it, and starts
using it...
If i tried to implement clickonce, but still kept the copy of the exe
on the network, would I still run into the same issue of windows not
allowing an overwrite, or does it know how to avoid this?
Any help or advice would be greatly appreciated.
at my company. Currently, all of our VB6 executables reside on a
network drive and everyone has a shortcut on their desktop to the each
of the programs on the network. There are a few DLL's that are common
to most of the apps. The most recent copy of each DLL is copied to and
registered on each computer at startup via a login script.
Deployment of new program versions and new DLL's is easy for us, as it
is simply a matter of dropping the files into their appropriate folders
on the network. If someone requires a version of a dll newer than the
one they have, they simply restart their computer.
As we move into C# and .Net i want to get a feel for what all of our
options are.
For example, we can probably start keeping the .NET versions of our
DLL's on the network drive and do away with the login script.
The problem is with doing this is, you can't overwrite a file that is
in use. If I drop a file on the network (whether it is an exe or a dll)
and someone is utilizing that file on their own machine, then windows
won't allow me to overwrite a file in use.
Currently if I am putting out a new version of a program, I either have
to wait til later at night when noone is using the program, or if only
people whose desks are around me are logged on, ask them all to log off
for a sec while I put out a new version. But it can be a real pain in
cases where someone on the other side of the floor is logged on and
away from their desk (or worse, has left the office for the day).
So basically what I am asking is, with all of the new technologies
available to .net, does anyone have any suggestions for a more robust
and simple to maintain deployment model?
I read about clickonce deployment, but that promotes a completely
different model than what we currently implement, whereby everyone has
their own local copy of the program, and it checks the deployment
server for a new version behind the scenes, downloads it, and starts
using it...
If i tried to implement clickonce, but still kept the copy of the exe
on the network, would I still run into the same issue of windows not
allowing an overwrite, or does it know how to avoid this?
Any help or advice would be greatly appreciated.