====== Applications ======
return to [[home|Contents]]

I not only use MDT to deploy applications during OS deployment but I also have a 'Post OS Install' task sequence to install applications as well.

Application folders Layout is pretty straight forward.
  * Client Software Suite - Standard Suite
      * //All Freeware applications that I install is under this structure//
  * Client Software Suite - Domain
      * //Local Domain only Applications//
  * Server Software Suite - Domain
      * //Software for use on domain Servers//

Each suite folder is setup as follows.
^  Folder  ^  Description  ^
| Suite  | Applications listed here are only Application Bundles. The dependent applications for these Application bundles are selected from the AppTree folder. //They are visible from the deployment wizard.//  |
| Suite\AppTree  | Applications here are 'Applications with Source files' these applications are contain the acutual installers for the application in question. //They are not visible from the deployment wizard.//  |
| Suite\Archive  | Applications here are old versions, //they are visible from the deployment wizard.//  |


**Figure 1. AppTree Folder Structure**
{{ :public:help:mdt:mdtapptree.png?nolink |MDT AppTree Directory Structure}} Fig 1. This is where new applications are imported to they are imported as an application with source files.\\
\\

**Figure 2. Suite Application bundles**
{{ :public:help:mdt:mdtapplications.png?nolink |MDT Suite Applications}} Fig 2. These applications are application bundles with the application under the app tree folder added as a dependency.

===== Add New Application =====
To add a new application the following process is followed.
  - Import an application with source files into the AppTree Folder ensuring you hide it from the deployment wizard.
  - Create an application Bundle under the Suite root folder and set its dependency to the application you wish to install, from the AppTree folder.
  - if the application you wish to install has dependent applications, select the dependent application bundle from the suite root folder making sure it is set to install before the application that requires it does.

===== Update an Application =====
  - Import an application with source files into the AppTree Folder ensuring you hide it from the deployment wizard.
  - goto the application Bundle under the Suite root folder and set its dependency to the application you just added to the AppTree folder and remove the old version of that application.
  - return to the AppTree folder and move the old app to the Archive directory making sure you 'uncheck' the 'hide from deployment wizard'.

===== other useful info =====
  - utilize the uninstall key, within each application it will prevent the app from trying to install again.

===== Reasoning =====
This structure was adopted for the following reasons:
  * Create Deployment media based on suites (Departments / Groups / ETC.)
  * If you have mandatory applications in your config file providing you have used the Suit 'Application Bundle' you don't have to leave the GUI/Edit the config file to update the application.
  * clarity

