Deployment Overview


Deployment is the process of installing applications to the target systems. Traditionally, such an installation has been done by invoking a setup program. If a hundred or thousand clients must be installed, the installation can be very time-consuming. To alleviate this, the system administrator can create batch scripts to automate this activity. However, particularly if the application logic changes regularly, problems can occur with clients that didn't have network access, along with incompatibilities among different library versions, resulting in a condition known as DLL hell.

Note

DLL hell describes the problems that happen when each of several installed applications require different versions of the same DLL. If one application installs a DLL that overwrites a different version of the same DLL, applications requiring the overwritten DLL might break.

Because of these problems, many companies converted their intranet applications to Web applications, even though Windows applications can have a much richer user interface. Web applications just need to be deployed to the server, and the client automatically gets the up-to-date user interface.

With .NET, DLL hell is avoided by using private and shared assemblies. Private assemblies are copied with every application, so there cannot be a conflict with assemblies from other applications. Shared assemblies have a strong name that includes the version number. Multiple versions of the same assembly can coexist on the same system. Chapter 29 covers private and shared assemblies.

.NET 1.0 supported a technology known as no-touch deployment. With no-touch deployment, it was possible for the user to automatically install an application by clicking a link on a Web page. However, .NET 1.0 no-touch deployment had some complexity because of security issues, and it was missing many features that are required with many client applications — clearly this was a version 1 release. These issues are solved with the ClickOnce deployment technology that is new with .NET 2.0.

Similarly to no-touch deployment with ClickOnce deployment, the application can be installed by clicking a link inside a Web page. The user on the client system doesn't need administrative privileges, as the application is installed in a user-specific directory. With ClickOnce you can install applications with a rich user interface. The application is installed to the client, so there's no need to remain connected with the client system after the installation is completed. In other words, the application can be used offline. What's different to no-touch deployment, now an application icon is available from the Start menu, the security issues are easier to solve, and the application can easily be uninstalled.

A nice feature of ClickOnce is that updates can happen automatically when the client application starts or as a background task while the client application is running.

However, there are some restrictions accompanying ClickOnce deployment: ClickOnce cannot be used if you need to install shared components in the global assembly cache, or if the application needs COM components that require Registry settings, or if you want the user to decide in what directory the application should be installed. In such cases, you must use the Windows Installer. The Windows Installer is the traditional way to install Windows applications.

Let's start with ClickOnce deployment before working with Windows installer packages.




Beginning Visual C# 2005
Beginning Visual C#supAND#174;/sup 2005
ISBN: B000N7ETVG
EAN: N/A
Year: 2005
Pages: 278

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net