AppDeployToolkit Folder

I’m an experienced app deployer with years of ZENworks experience. But I’m new to both SCCM and the PSADK. My first question is about the AppDeployToolkit folder. Does this have to be present in every app deployment folder structure? If so, how do you manage changes to the png or config files? Alternatively, is there a way to redirect to a common directory for all app deployment folders/scripts?




What do you mean by png or config files? Just put the psadtk on a sub folder of each package/application and load it with somekind of . “$scriptDirectory$($Librairie.Librairie)”

Then everything will be fine and you will be in buisness. You will have to edit the config xml.

With SCCM, you will use the system account and he is not aware of the network. Even so, I am not sure it would be good to centralized the scripts as a single change would affect all computers.


I was trying to avoid having that folder for every package. It’s not just the space (1mb), but any customizing I might do. Easily done now when I’m new and only have one or two apps, but will be a big hassle when I have 100. For instance:

  1. Replacing the banner logo (AppDeployToolkitBanner.png) with our corporate logo.
  2. Changes to the config, like log file location (AppDeployToolkitConfig.xml)
  3. And I’m assuming that even updates to the product core scripts would have to be propagated to all apps.

What I’d rather do is have one location for the AppDeployToolkit folder and point all the applications scripts to it. Is that possible?


Not sure centrailize is good as if an update has bug or breack change then every package might be broken. Otherwise put them in a network share and give permissions to computers account.


You can do that. Simply take the contents of the application AppDeployToolkit and put them locally (after you configure it the way you want it) on your workstations.

Next open up the deploy-application.ps1 and look for the ## Dot source the required App Deploy Toolkit Functions. There is a variable there called $moduleAppDeployToolkitMain that you will need to change to match the location of your local files.

If you do what I do, then you can put this in an If statement which basically says:
if (Test-Path "$scriptDirectory\AppDeployToolkit\AppDeployToolkitMain.ps1) {
[string$moduleAppDeployToolkitMain = “$scriptDirectory\AppDeployToolkit\AppDeployToolkitMain.ps1”
Else {
[string$moduleAppDeployToolkitMain = “$LocalPath”

This way if you have something unique you need to set for a package you can simply include the AppDeployToolkit folder into the package, otherwise, if you don’t include it, it will use the local one.

I use PSADK for every single SCCM application and have also been working on migrating from Zenworks for the last 1.5 years. I started using it with Zenworks just before we had SCCM up and running. Customize the Toolkit folder as much as you like once, then reuse it as a template for future projects. Begin your project by copying and renaming your Toolkit template folder as step one, then populate the files folder, supportfiles folder and edit your Deploy-Application.ps1 script. There will be times you may want to alter AppDeployToolkitConfig.xml for a particular application, such as when you set the User Experience Installation Behavior as Install for user vs. Install for system for the deployment type and the <Toolkit_RequireAdmin>True</Toolkit_RequireAdmin> item in the xml (target user profiles, etc.). If I ever need to install something that isn’t managed by SCCM (like another agency), I just grab the folder and run Deploy-Application.exe and everything is present and works as scripted. Once a new version of PSADK came out, I did the same with the new toolkit and kept moving forward - no need to worry about existing scripts with changes in PSADK versions.