Deployment
- 5 minutes to read
In addition to building XAF business applications, you should be familiar with appropriate methods for deploying and updating these applications. For this purpose, you may need to use configuration settings that differ from the ones applied for such application compilation modes as debugging, testing, etc. Topics in this help section will explain how to modify configuration files easily, and describes approaches to deploy XAF applications.
Note
Single-file deployment and executable option (<PublishSingleFile>
) is not supported in ASP.NET Core Blazor, WinForms, and Web API applications.
Deployment Tutorial – Overview
The aim of these topics is to deploy an XAF application in a production environment. It is assumed that you have already reviewed the In-Depth .NET WinForms & Blazor UI (Employee Manager). In this section, you will learn how to deploy the application you developed. Most of the lessons in this section refer to the simple application (called MySolution) you developed in the previous lessons in the XAF Tutorial. Microsoft SQL Server is used as the database management system (DBMS). However, you can use any XAF application, such as the demo application that ships with XAF, or your custom application. You can also use any DBMS supported by XAF.
Note
Use the Assembly Deployment Tool to analyze your project and obtain the list of assemblies you should deploy. Compare the assemblies the tool identifies to the redistributable assemblies list available in the End User License Agreement (EULA).
In a typical production environment, there are a number of computers playing various roles. Throughout this tutorial we use the following naming conventions:
- Developer Workstation - a PC with Microsoft Visual Studio and XAF installed. For instance, it can be your own workstation.
- End-User Workstation - one or more PCs with neither Microsoft Visual Studio nor XAF installed. Your aim is to deploy the XAF application to these workstations.
- Database Server - a server in which a DBMS is installed. Generally, End-User Workstations must have network access to this server.
- Web Server - a server in which Microsoft Internet Information Services (IIS) are installed. This server must have network access to the Database Server and be accessible from the end user’s local network or via the Internet, if required.
- Terminal Server - a server in which Microsoft Terminal Services are installed. This server must have network access to the Database Server and be accessible from the end user’s local network or via the Internet, if required.
Note
The Database, Web and Terminal Servers may be physically located on the same server.
Deployment Tutorial – Lessons
Choose an Appropriate Location for Deployment
This lesson helps you to decide where to deploy your Windows Forms application (to each End-User Workstation or to a Terminal Server), and where to deploy your ASP.NET Web Forms application (to a local Web Server, to remote hosting or to a remote dedicated server).
Lessons on Various Deployment Methods
ASP.NET Core Blazor
- Deploy an ASP.NET Core Blazor Server Application to IIS
- Deploy an ASP.NET Core Blazor Server Application to Azure App Service
- Deploy an ASP.NET Core Blazor Server Application to Linux with Nginx
WinForms
- Xcopy Deployment of a Windows Forms Application
- Publish Wizard Deployment of a Windows Forms Application
- Setup Project Deployment of a Windows Forms Application
ASP.NET Web Forms
- Xcopy Deployment of an ASP.NET Web Forms Application
- Publish Web Deployment of an ASP.NET Web Forms Application
- Setup Project Deployment of an ASP.NET Web Forms Application
It is not necessary to follow all of these lessons. You can choose and apply the most suitable method.
Set Up the Database Connection for a Deployed Application
Instructions on how to connect your application to a Database Server and create the initial database. Information on how to resolve database and application version mismatches is also included.
-
An introduction to database security. This lesson shows how to grant access to an application database only to your XAF application users.
Connect Clients to the Terminal Server
Instructions on how to connect remote desktop clients to the Terminal Server with the Windows Forms application installed.
Production Database and Application Updates
You will learn how to update your application.
If you do not have access to a real production environment but still want to perform this tutorial for training purposes, you can use the DBMS and Web Server installed in the Developer Workstation. In this case, we recommend that you create a virtual LAN using virtualization software so that you can perform all of the steps described in the tutorial.
To begin, refer to the Choose an Appropriate Location for Deployment topic.
Troubleshooting Guide
If you run into an issue when deploying an XAF application, take a look at the Deployment Troubleshooting Guide help topic. The topic provides a list of common deployment problems and ways of resolving them.
General Deployment Information
The following topics provide general information on XAF applications deployment.
- Apply Different Configurations for Development and Production
- Update Application and Database Versions using the ModuleInfo Table
- Redistribution and Deployment
- Deployment Recommendations for XAF Blazor UI Applications
- Deployment Recommendations for ASP.NET Web Forms Applications