How Advanced Installer Architect Complements PSADT in Application Packaging
Modern-day application packaging often relies on free, open-source scripting methods, and one of the most widely adopted is the PowerShell App Deployment Toolkit (PSADT). However, there are cases where PSADT alone is not sufficient. In such cases, the Advanced Installer Architect steps in to complement the workflow of an application packager.
In this article, I will cover what PSADT offers and why combining it with Advanced Installer Architect, alongside other tools like PacKit, can enhance your packaging efficiency and capabilities.
What is PSADT?
The PowerShell App Deployment Toolkit is a free, script-based packaging tool. It wraps your application installer, calls it with various parameters, and then performs configurations on the operating system that will reflect how the application behaves after installation.
PSADT Versions and Structure
Currently, there are two versions of PSADT:
- PSADT V3: It has been used for a long time, being robust and reliable. It lacks the visual elements and modern features. However, v3 has been deprecated, and it’s no longer developed or maintained.
- PSADT v4: The current stable PSADT version. A v4.1 is already in development, promising extra improvements.
PSADT v4 allows you to use it as a template, modifying the needed parts for each application individually. This structure offers a cleaner and more scalable structure, better suited for modern packaging workflows.

Let's get the most important files and folders that matter the most to a packager:
- Invoke-AppDeployToolkit.ps1: This is your main entry point. It's the script you call to run the deployment. Internally, it loads the configuration and handles lifecycle events such as Install or Uninstall.
- Invoke-AppDeployToolkit.ex: The wrapper executable that launches the script in a PowerShell host. This is what it’s being called alongside the install, uninstall, or repair parameter in configuration tools like Intune or SCCM. The exe interprets the PS1 script, which will eventually execute the setup files' configuration instructions.
- ServiceUI.exe: Useful when running installations in the SYSTEM context and you want to show UI to the logged-in user.
- Files: This is where you place your original setup installer file(s).
- SupportFiles: Any custom scripts, dependencies, or helper files needed before, during, or after the install. You can also put all your files in the previous “File” folder and point to them in your script. It improves organization but has no functional impact on behaviour.
- Assets: Any icons or logos used by the toolkit when displaying the interface. These can be replaced with the custom company ones. Just ensure you respect the format; otherwise, it will look odd.
Now, why is PSADT widely used?
- It’s free and open-source.
- It plays well with enterprise deployment tools like Microsoft Intune, MECM (SCCM), and even third-party solutions.
- Its folder structure makes it easy to wrap inside an IntuneWin package using Microsoft’s prep tool (IntuneWinAppUtil.exe) and push directly to the cloud.
PacKit, powered by Advanced Installer, offers a centralized workspace for managing all your application packages. It comes with a built-in PSADT integration.
With a push of a button, your "setup.exe" is wrapped automatically inside PSADT, and information is extracted and preconfigured inside the script.
You can later edit the script in your preferred editor. After that, with a simple click of a button, you can convert the PSADT script into an .intunewin file, ready to integrate and deploy to Intune.
You can learn more about PacKit’s capabilities here: https://www.getpackit.com/features
Now, let's see a few command examples that can be used in the installation and uninstallation sections, as well as pre- and post-installation:
# Remove a previous MSI-based version by name Uninstall-ADTApplication -Name "Adobe Acrobat" # Install Adobe Start-ADTMsiProcess -Action "Install" -FilePath "$($adtSession.DirFiles)\AcroPro.msi" -Transforms "$($adtSession.DirFiles)\$transform" -Patches "$($adtSession.DirFiles)\AcrobatDCx64Upd2500120577.msp" -AdditionalArgumentList "EULA_ACCEPT=YES IGNOREVCRT64=1" Remove-ADTFile -Path "$envCommonDesktop\Adobe Acrobat DC.lnk" ## Configure settings for Adobe Acrobat Reader DC # Disable#Disable EULA Set-ADTRegistryKey -Key "HKLM:\SOFTWARE\Adobe\Adobe Acrobat\DC\AdobeViewer" -Name "EULA" -Value "1" -Type "DWord"
Sometimes you need to make some configurations, but you don’t know:
- Which files need to be configured
- What registry keys need to be modified
Additionally, you may want to build an installer from scratch, relying on an easy-to-use UI with predefined functions. This is where Advanced Installer Architect comes in.
How Advanced Installer Architect Enhances Script-Based Packaging
As a software packager, I often rely on PSADT. However, there are many cases where the customer requests specific customizations that I know how to implement, but I don’t always know where those changes need to be made within the system.
That’s where the Advanced Repackager, included in the Advanced Installer Architect Edition, comes in handy.
Here’s how I typically use it:
- I install the application.
- I launch Advanced Repackager, which takes an initial snapshot of the operating system.
- I manually perform all the changes and configurations as required.
- I signal to the Advanced Repackager that I’ve finished the work.
- The Repackager takes a second snapshot and compares it to the first, showing me what changes were made on the operating system.
From there, I had two options:
- Go back to PSADT and manually implement those changes using its native cmdlets, or
- Generate a new MSI with the captured configurations and include it in my PSADT script logic to be installed after the main application installer is executed.
Use Cases Where Advanced Installer Complements PSADT
Generating MSTs (Transforms)
Advanced Installer can create a response transform of your MSI installer or a scratch transform that will alter it.
GUI installer builder
Advanced Installer Architect provides a rich, user-friendly GUI that lets you build installers step-by-step. You can:
- Easily configure files, registry keys, shortcuts, prerequisites, custom actions, and more.
- You can also design visually appealing installers with customizable themes, branding, logos, and dialogs—far beyond what PSADT’s basic UI notifications offer.
Repackaging and snapshotting
It can create MSI or EXE installers by capturing existing installations, helping you generate installers from legacy setups that you might otherwise struggle to script manually. These are the cases where you have setups that do not accept silent installs. Even if you put those installed wrapped inside PSADT, it will simply not install automatically. It will require repackaging, the process being the same as in the case of a customization configuration package.
Advanced features
The Architect edition supports auto-updates, digital signing, rollback scenarios, installation repair, and patching—all integrated into the packaging process.
Seamless integration
You can use Advanced Installer to build the base MSI or EXE installer. You can then wrap it with PSADT to leverage its powerful scripting capabilities for post-installation configuration or complex deployment scenarios.
Powerful troubleshooting and logging
Although PSADT generates its installer log located in c:/windows/logs/software, it does not offer the actual setup installer logging unless specified. Advanced Installer includes detailed logging and diagnostics features that can help you troubleshoot any installation issues during development or deployment.
Conclusion
Think of PSADT and Advanced Installer Architect as two sides of the same coin:
- Understand what changes you need to make, and PSADT will excel at automating and customizing installations as your flexible, script-driven deployment toolkit.
- Advanced Installer Architect is your visual, all-in-one installer builder and repackager. It provides powerful features that make packaging complex or unknown installers much easier.
Application packagers get the best of both worlds by combining these two tools: they can use rapid deployment scripting and powerful installer authoring together, streamlining their work and preparing them for any packaging challenge.
If you’d like to see how Advanced Installer works in practice, you can try the full-featured version free for 30 days. |
|---|
FAQs
Do I need Advanced Installer if I already use PSADT?
Yes, PSADT is great for scripting and automation. But it lacks features for repackaging, visual UI design, and advanced installer building. Advanced Installer complements PSADT by handling installer creation, repackaging, transforms, GUI customization, and more.
Can I still use PSADT with an installer built in Advanced Installer?
Absolutely. In fact, that’s a common workflow. First, you build your MSI/EXE using Advanced Installer. Then you wrap it with PSADT to handle deployment logic, cleanup tasks, registry tweaks, and post-install configs.
Can Advanced Installer Architect create Intune-ready packages?
Yes. With the help of PacKit (powered by Advanced Installer), you can build, wrap, and convert your installers to .intunewin format directly—ready for Microsoft Intune deployment. This automates what would normally take several manual steps.
Is PSADT suitable for UI-heavy or branding-sensitive installations?
Not really. PSADT’s UI is based on toast messages and standard prompts. If you need fully branded installers with company logos, themes, and customized dialogs, Advanced Installer Architect is the right tool for the job.
Is PSADT suitable for UI-heavy or branding-sensitive installations?
Not really. PSADT’s UI is based on toast messages and standard prompts. If you need fully branded installers with company logos, themes, and customized dialogs, Advanced Installer Architect is the right tool for the job.
Can I create MST transforms for existing MSI files in Advanced Installer?
Yes, and very easily. Advanced Installer lets you open an MSI and generate a response transform (MST) file without altering the original package, or create a transform with custom configuration within Advanced Installer. This scenario is ideal for vendor MSIs that you need to customize.
Does Advanced Installer support auto-updates for applications?
Yes. You can configure auto-update functionality with Advanced Installer Architect, allowing your applications to check for and install updates seamlessly—something that would require a lot of custom scripting in PSADT.
Are there licensing costs involved with Advanced Installer Architect?
Yes, Advanced Installer Architect is a paid product. But it offers a robust set of features that go far beyond free tools. For enterprise packaging, its value is often well worth the cost—especially when time and reliability matter.
