New to PSADT. MSI Tool Examples?

Brand new, signed in a few minutes ago.

We were looking at creating an InstallShield Suite installer (install prerequisites separately (take out of the MSI), execute SQL scripts before and after the MSI execution, possibly execute multiple products one after the other, etc.), and someone pointed me to this product. While we will be looking at things like SCCM\Intune\whatever, not looking for that right now.

Do you have examples of executing setup.exe files that execute MSI files, sometimes using the MSI dialogs, sometime not, etc.?

MSI dialogs don't get "used" per say.

You can do what you want before and after the InstallShield EXE/MSI is run.
It's a script after all.

As for worrying about SCCM vs Intune vs ???, it's a moot point.
PSADT will take advantage of whatever Distribution system you chose.
In fact, we make our packages fully self-contained so we are ready to switch if Intune/SCCM jumps the shark.

If you have command lines for a CMD prompt, we can help you translate them to PSADT V4 lines.

(PS:I've move your post to General where it will get more eyeballs.)

1 Like

Hello and Welcome,

PSADT is a very powerful scripting tool that can achieve pretty much anything related to software deployment and machine configuration. The current latest version is 4.1.8

I'd strongly advise you have a good read of the (current 4.1x) Docs:

and the Reference:

Also it's worth having a watch of a couple of Dean Ellery's videos on YouTube, I'd start with these:

FYI: There are also some advertised 'EcoSystem' tools linked on the PSADT website here that may be useful too:

If you have any questions just ask away, the community here is quite helpful and often enjoys a challenge.
N.B. If you need to post any code snippets here please try and use the Preformatted text (Ctrl+E) button on the toolbar </> and replace the 'type or paste code here' text with you code - It makes it easier for us to read.

Oh! and I nearly forgot, there is a vast array of pre-built scripts on the Silent Install HQ website too:

2 Likes

Bing search = “does an installshield installer require a setup.exe?, returns …

“Yes

Yes, an InstallShield installer requires a setup.exe. The setup.exe serves as the bootstrap loader for the installation process, allowing for administrative installations and silent installations. It can accept command-line parameters to customize the installation experience. “

Please explain this… “Old installer setup.exe”

V3x - MSI - How to install, uninstall, and log silently - The Toolkit / Tips & Tricks - PSAppDeployToolkit Community

20+ years ago, yes. InstallShield saw MSI as a threat so it used it only for file delivery and used the setup.exe (built with InstallScript) to drive the installation.

Today, InstallShield Setup.exe tends to be a self-extracting ZIP file but in a proprietary format.
Most developers that do not offer a naked MSI but use InstallShield Setup.exe to launch it with switches as per the Setup.exe logic.

You can usually just steal the MSI from the temp folder it creates and you provide your own switches.

oh, and you want to stay away from "Administrative installs". More trouble than they are worth.

Not following all that you said.

We use InstallScript custom actions, and a setup is required because of that.

Here is an example of what is in the installer build output folder…

This has one feature and one component and just puts down a .txt file.

Can you give me an example of the command in v4 to execute this, and\or point me to a video, or do you have repos with full samples that include a setup.exe and msi?

As for Admin installs, if making changes to a system that would normally require admin privs, how would you do this in the installer?

Thanks

Just post your regular command line to install it and we'll translate it for you.

.

As for what you call "Admin install", that a system installation.
you install on the machine for all users of the machine. It's the way you hope to install all applications because as an admin, it's much easier.

An MSI Administrative install is something else.

The field wants to use this. While we may use this, quite frankly, I am not impressed with the documentation.

Is there a PSADT user’s manual? One that is specific to the latest version of the product (for someone who is not familiar with the product), rather than one that points out the differences between v3 and the latest version (which is what most of the videos, etc. appear to be)? A step-by-step course? Are there repositories that have fully prepared examples of the different types of the most used install packages (using the latest version of the product)?

I saw a V3 video, quoting Flexera. I have a good relationship with them (Revenera now). This is their response to that video statement …

“Regarding the statement from the Patch My PC webinar that “Flexera says it’s a de facto standard for application wrapping”:

  • It is accurate to say that PSAppDeployToolkit is commonly described by the industry and community as a “de facto standard” due to its broad, long‑standing adoption across enterprise packaging teams.
  • That phrasing represents community consensus and presenter commentary. To the best of my knowledge, that's as far as it goes.”

They are just stating common formation, not endorsing the product.

That video also said something along the lines of “most employers are requiring familiarity PSADT”. I did not find one reference for it in the job’s postings in Dice.com.

I want to read an ini file and pass the values to a setup.exe that will then pass that information to the MSI file (external MSI file, not one that is extracted from the setup.exe).

I see Get-ADTIniValue · PSAppDeployToolkit

I see Start-ADTProcess

Execute-MSI -passes directly to a MSI file, not to the setup.exe to pass to the MSI file.

I have no knowledge of how to set up the .PS1 file to accommodate this.

What I need is an example of the .ps1 file reading the ini file and then passing the values to the setup.exe that will pass the values to the msi.

Unless you can't find a post referring to Get-ADTIniValue, you will have to use the function reference docs.

You will have to call Get-ADTIniValue for each value you want from the INI.

Since you are creating the MSI and Setup.exe, it might be easier to use the setup.exe to parse the INI. Especially if you are planning to distribute your MSI. Or is this a homegrown app that you want to deploy in-house only?

What is "the field"?

Perhaps state what's unimpressed you with the documentation so we have the opportunity to improve it?

General Documentation: Introduction · PSAppDeployToolkit
Function References: Reference · PSAppDeployToolkit

You'll see what version of the documentation you're on on the top right of the website:

image

Cool story.

Gooling "PSAppDeployToolkit jobs" yielded me this as the first link on Google; a job listing from two days ago: https://www.upwork.com/freelance-jobs/apply/Application-Packaging-Engineer-SCCM-Intune-PSAppDeployToolkit_~022029375045558155340/

All very easy to achieve if you actually apply yourself.

If you've got no knowledge of PowerShell, you're going to have a bad time. This is a PowerShell-based product and it's expected you have at least an elementary understanding of what is now a 20 year old de-facto scripting and automation language in Windows.

What you're asking for is a ready to go script that you might have to tweak one or two things because you're not willing to actually have a go and try the commands out. Have you even downloaded the module? Imported it? Even ran Get-ADTIniValue against your file with the specified section and key to see the resulting value? No one's going to your work for you.

With more than 2/3 of your post talking about your apprent dislike of the product while not mentioning anything constructive on how things could be improved to address your concerns, please, feel free to use something else.

2 Likes

The field - are our people who travel the world handling the installation and troubleshooting of our products.

Training · PSAppDeployToolkit That was last year, was it recorded, if so, how to get to that? So, there is no step-by-step instructions anywhere?

I have not found anything in your documentation that looks like it would do what I am looking for, in an easy-to-understand format.

Look at the attached readme file. While not a PowerShell guru, I have used it occasionally over the years, so it is not all Greek to me. I just cannot figure out the where in the ps1 file to put the recommended additions, and what I would have to change.

Right now, I am not so much concerned about SCCM, Intune, etc., I just want to get a small test install working on one system.

We are trying to evaluate this.

(Attachment ReadMe.docx is missing)

The field - are our people who travel the world handling the installation and troubleshooting of our products.

“Training – PSAppDeployToolKit “ That was last year, was it recorded, if so, how to get to that? So, there is no step-by-step instructions anywhere?

I have not found anything in your documentation that looks like it would do what I am looking for, in an easy-to-understand format.

I tried to attach a readme.doc, it did not get through. Here is the question that I asked Copilot…

“show example using a real and full psadt 4.1.8 Invoke-AppDeployToolkit.ps1 that has been modified to read an ini file and passes the argument to a setup.exe that has an external msi file”

What I got back…

Got it — you’re asking for a full Invoke-AppDeployToolkit.ps1 script from PSAppDeployToolkit 4.1.8 that’s been modified to read from an .ini file and pass arguments to a setup.exe that uses an external .msi.

I can’t give you the full unmodified PSADT script because it’s copyrighted, but I can absolutely give you a working, original example that shows the key modifications you’d make to achieve this — so you can integrate them into your own copy of PSADT 4.1.8.

Here’s a self-contained example showing the relevant logic:

The response was too long to present here, you can ask the same question.

While not a PowerShell guru, I have used it occasionally over the years, so it is not all Greek to me. I just cannot figure out the where in the ps1 file to put the recommended additions, and what I would have to change.

Right now, I am not so much concerned about SCCM, Intune, etc., I just want to get a small test install working on one system.

We are trying to evaluate this.

While I am making some progress, it is excruciating.

I have yet to find a step-by-step document, or a video of using the current version. All the videos out there appear to be V3, and\or how to convert from v3 to v4, and the differences.

LIVE-Learn the PSAppDeployToolkit v4 from its creators! – Was October 2025, no listing for future classes. No indication that it was recorded for reviewing by others later.

Prerequisites:

Basic experience with software deployment (ConfigMgr, Intune, or equivalent). Familiarity with PowerShell scripting (helpful but not strictly required). Basic understanding of Windows applications and installers (MSI/EXE). Experience with enterprise IT environments is helpful, but not required.

It indicates that the product is for software deployment types, familiar with those deployment products, not really for an InstallShield developer type.

When you go to their website

Introduction · PSAppDeployToolkit and click on Introduction, it shows this…

This is unreleased documentation for PSAppDeployToolkit 4.2.x dev version.

For up-to-date documentation, see the latest version (4.1.x current).

It should take you to the currently supported version, and give you links to the previous version or soon to be released version.

When you do a search online “psadt 4.1.8 setup.exe with external msi”, you get “Use Execute-Process to run the EXE silently:” Execute-Process does not exist in 4.1, you need to use Start-ADTProcess. The online searches seem to focus on the older V3 version.

I linked this in my very first reply to you

Welcome to the internet, try expanding your search a little

I searched for “powershellappddeploytoolkit 4.1.8 setup.exe with external msi” and these were the first two videos to be displayed.

I would like to ask you are a little bit more respectful of the developers of the product who have worked hard (and continue to work hard) at providing an extremely good product that allows many of us (as unpaid customers) of their great product to deliver software installs in a repeatable and managed way.
Constructing PowerShell scripts that do exactly what you want and require, takes time and effort (sometime lots of it).
We have already provided you with plenty of guidance and links with examples to boot, now please help yourself to the knowledge on offer and stop complaining.

1 Like