# Software Deployment Features & Capabilities Deploying software to all machines in a network can be a daunting task for IT Administrators, especially at large enterprises. With an ever-growing number of endpoints, it is becoming a real challenge to roll out software across organizations. Endpoint Central allows you to distribute software packages to all the computers in your network across [Windows](https://www.manageengine.com/products/desktop-central/windows-software-installation.html), [Mac](https://www.manageengine.com/products/desktop-central/mac-software-deployment.html) and [Linux](https://www.manageengine.com/products/desktop-central/linux-software-deployment.html) from a central console, without user intervention. Endpoint Central comes with a feature-set that has the following advanced options to offer greater flexibility and control over the software deployment process: ![Create ready-to-deploy software packages from 5000+ pre-defined templates in a few clicks](https://www.manageengine.com/products/desktop-central/images/sode2.png) ![Maintain a central repository of software packages for convenient software deployment](https://www.manageengine.com/products/desktop-central/images/sode1.png) ![Create and customize your own software packages with pre and post deployment activities](https://www.manageengine.com/products/desktop-central/images/sode3.png) ![Pre deployment activities: Configure condition-checks and deploy configurations before installing the package](https://www.manageengine.com/products/desktop-central/images/sode4.png) ![Post-deployment activities: Deploy configurations after the package is installed](https://www.manageengine.com/products/desktop-central/images/sode5.png) ![Schedule software deployment at off-hours](https://www.manageengine.com/products/desktop-central/images/sode6.png) ![Allow users to install software by themselves using the self-service portal](https://www.manageengine.com/products/desktop-central/images/sode7.png) - [Pre-defined application templates](https://www.manageengine.com/products/desktop-central/software-deployment.html#a) - [Self Service Portal](https://www.manageengine.com/products/desktop-central/software-deployment.html#b) - [Pre Deployment activities](https://www.manageengine.com/products/desktop-central/software-deployment.html#c) - [Post Deployment activities](https://www.manageengine.com/products/desktop-central/software-deployment.html#d) - [Software Repository](https://www.manageengine.com/products/desktop-central/software-deployment.html#e) - [Installation/uninstallation using the same package](https://www.manageengine.com/products/desktop-central/software-deployment.html#f) - [Schedule deployment at off hours](https://www.manageengine.com/products/desktop-central/software-deployment.html#g) - [Install applications as a user](https://www.manageengine.com/products/desktop-central/software-deployment.html#h) ## Pre-defined application templates For deploying applications, you first need to create software packages, which can get tedious. Endpoint Central has over 10,000 pre defined application templates, complete with install/uninstall switches which can be used to [create packages](https://www.manageengine.com/products/desktop-central/help/software_installation/software_deployment_templates.html) instantly. This saves time and makes the process faster and more accurate. ## Self Service Portal One of the most common task of an IT admin is deploying requested applications to users, for which a lot of help desk tickets are raised regularly. These tickets usually take up lot lot of time and resources to resolve. Using Endpoint Central's self service portal, you can empower users to install applications on their own. All you need to do is [publish](https://www.manageengine.com/products/desktop-central/help/software_installation/self_service_portal.html) most commonly requested applications to the self service portal and reduce the number of help desk tickets raised significantly. ## Pre Deployment activities One of the major reasons for software deployment failure is that the target computers don't meet the prerequisites. It can take up a lot of time to figure out the exact issue and then troubleshoot it accordingly. Endpoint Central's [pre deployment activities](https://www.manageengine.com/products/desktop-central/software-deployment-pre-post-deployment-activities-scenarios.html) let you perform condition checks and apply configurations before installation, to ensure that the target computers meet all the requirements and have all the configurations set up. ## Post Deployment activities The software deployment process is not complete even after the software has been installed. You need to ensure that the application is accessible to user, all the previous versions have been uninstalled, shortcuts have been set up and all the application specific configurations are applied. Endpoint Central's [post deployment activities](https://www.manageengine.com/products/desktop-central/software-deployment-pre-post-deployment-activities-scenarios.html) allow you to apply follow-up configurations, run custom scripts, change registry settings, create shortcuts, create/append path, and much more after the installation. ## Software Repository All the software packages which are created using Endpoint Central are stored in a central [Software Repository](https://www.manageengine.com/products/desktop-central/software-repository.html). Once saved, these packages can be reused multiple times. There are two types of software repositories available in Endpoint Central: Network Share Repository and HTTP Repository. Network Share repository is used while deploying software packages to LAN agents and HTTP repository is required for deploying software packages to WAN agents. ## Installation/uninstallation using the same package Creating different packages for installing or uninstalling the same application can get tedious. In Endpoint Central, once you create a package, it can be used to perform both the operations for MSI, EXE, MSU, APPX and MSP applications. ## Schedule deployment at off hours Downloading the software packages and running the executables takes up a lot of processor's resources, which may lead to reduced performance while deployment and hence loss of productivity for employees. To prevent this, you can deploy software packages within a suitable time interval by [configuring a deployment policy](https://www.manageengine.com/products/desktop-central/help/configuring_desktop_central/configuring_deployment_templates.html). This allows you to install applications on the desired day/date/time, within a preset time window. Scheduling software deployment at off-hours helps bring desired results in terms of cost as well as performance within your environment. Endpoint Central allows you to copy the necessary installable to the client computers before installing or uninstalling applications. This can be [configured](https://www.manageengine.com/products/desktop-central/help/configuring_desktop_central/configuring_deployment_templates.html) while setting up the deployment policy. It is optional and when selected will **speed up the installation/uninstallation process**. ## Install applications as a user Endpoint Central supports installing or uninstalling the application as a specific user. By default, all applications are installed as "System User", which the Endpoint Central agent has access to.