Private assemblies are the simplest type. They normally ship with software and are intended to be used
only with that software. The usual scenario in which you will ship private assemblies is when you are
supplying an application in the form of an executable and a number of libraries, where the libraries
contain code that should be used only with that application.
The system guarantees that private assemblies will not be used by other software because an application
may load only private assemblies that are located in the same folder that the main executable is loaded
in, or in a subfolder of it.
Because you would normally expect that commercial software would always be installed in its own
directory, there is no risk of one software package overwriting, modifying, or accidentally loading
private assemblies intended for another package. And, because private assemblies can be used only by
the software package that they are intended for, you have much more control over what software uses
them. There is, therefore, less need to take security precautions because there is no risk, for example, of
some other commercial software overwriting one of your assemblies with some new version of it (apart
from software that is designed specifically to perform malicious damage). There are also no problems
with name collisions. If classes in your private assembly happen to have the same name as classes in
someone else ’ s private assembly, that does not matter, because any given application will be able to see
only the one set of private assemblies.
Because a private assembly is entirely self - contained, the process of deploying it is simple. You simply
place the appropriate file(s) in the appropriate folder in the file system (no registry entries need to be
made). This process is known as zero impact (xcopy) installation .
only with that software. The usual scenario in which you will ship private assemblies is when you are
supplying an application in the form of an executable and a number of libraries, where the libraries
contain code that should be used only with that application.
The system guarantees that private assemblies will not be used by other software because an application
may load only private assemblies that are located in the same folder that the main executable is loaded
in, or in a subfolder of it.
Because you would normally expect that commercial software would always be installed in its own
directory, there is no risk of one software package overwriting, modifying, or accidentally loading
private assemblies intended for another package. And, because private assemblies can be used only by
the software package that they are intended for, you have much more control over what software uses
them. There is, therefore, less need to take security precautions because there is no risk, for example, of
some other commercial software overwriting one of your assemblies with some new version of it (apart
from software that is designed specifically to perform malicious damage). There are also no problems
with name collisions. If classes in your private assembly happen to have the same name as classes in
someone else ’ s private assembly, that does not matter, because any given application will be able to see
only the one set of private assemblies.
Because a private assembly is entirely self - contained, the process of deploying it is simple. You simply
place the appropriate file(s) in the appropriate folder in the file system (no registry entries need to be
made). This process is known as zero impact (xcopy) installation .
No comments:
Post a Comment