Interactive deployments with 4.1.0 and Intune

I am trying to deploy a simple exe (HWinfo) interactively with Intune.

Using Master Wrapper with v4.1.0, I choose installation mode as "Interactive." As far as I have understood, you still need to put serviceui_x64.exe (and x86 and plain serviceUI.exe for good measure) in the root. Done.

For the life of me, I can't get this working. I have tried the install command in intune as "Invoke-AppDeployToolkit.exe -DeploymentType Install -DeployMode Interactive" no luck. I have done just "Invoke-AppDeployToolkit.exe" and no luck. The install hang and the PSADT doesn't show any errors (or completion for that matter but it does show that it started).

On v4.0 I used the invoke_serviceUI.ps1 from the examples with the serviceUI exes in the folder and it is working fine. I used "%SystemRoot%\System32\WindowsPowerShell\v1.0\PowerShell.exe -ExecutionPolicy Bypass -NoProfile -File Invoke-ServiceUI.ps1 -DeploymentType Install -AllowRebootPassThru" as the install command. However, I am seeing that the GitHub examples documentation has been removed for invoke_serviceUI.ps1

I get that things changed with v4.1, but I can't for the life of me get an interactive install with PSADT v4.1 working.

What might I be doing wrong here? What is the right way to do a interactive install with v4.1.0 with Intune?

#1 I guess you missed the blurb below from the v4.1 launch

  • I REPEAT! You no longer need to use ServiceUI, EVER AGAIN! :partying_face::tada::confetti_ball::piñata::mirror_ball::men_with_bunny_ears:
  • In fact, we strongly advise you stop using it as soon as possible. ServiceUI works by manipulating system security tokens in a way that could allow malicious actors to escalate privileges or bypass security controls.

#2 PSADT is now up to v4.1.5
Many bug fixes are included since v4.1.0

#3 What kind user interaction are you looking for?

  • Do you want the user to interact with the HWinfo installer exe?
    or
  • Do you want PSADT to show the user GUIs to guide the installation?

I’ve seen the messaging to not use serviceUI. But that is where it gets confusing.

There is wording on this community that the change was only for the PSADT UI elements like progress bar and the like. There was mention in one post that you still need to use serviceUI for applications being interactive.

I am looking for users to fully interact with the installer.

If the way forward is to not use serviceUI for that, I’m all ears. I just can’t figure it out.

What you'd do in this instance is something like Start-ADTProcess -FilePath ServiceUI.exe -ArgumentList 'setup.exe /SomeArgument /AnotherArgument' -CreateNoWindow inside your deployment script. That way only the elements you crucially need are running interactively as SYSTEM.

We have talked about asking ServiceUI-like behaviour into the toolkit, and while it's possible, it's incredibly dangerous and should only be done by those who truly understand what they're doing. We also feel it'll be susceptible to misuse by threat actors and will cause our toolkit to be flagged with EDR vendors. As such, it's best that you specifically opt into it by explicitly using ServiceUI to achieve what you require.

2 Likes

I appreciate the information here. I will give that a go.

Something I am hoping clarify: the wording regarding serviceUI since 4.1 has been very strongly to not use it. I understand that and from what I also understand is that this is mostly directed towards just the UI part of PSADT.

I get that my usage of PSADT as described in this post isn't exactly what PSADT was intended for. That said, the reason I am going this route is I would really like to have PSADT be our standard for software deplyment in as many circumstance as possible. And as you know, Intune doesn't have any way facilitate interactions with installers that can't be deployed in any other way.

Unfortunately, that desire to standardize with PSADT and use Intune as our modern deployment method seems to force us down path of serviceUI, as ill-advised as that would be.

For Intune users that need to deploy software with the installer being interactive, what is then the proper way forward?

Unfortunately, the suggestion for serviceUI failed.

I have tried it with "Start-ADTProcess -FilePath 'ServiceUI.exe' -ArgumentList 'hwi64_830.exe' -CreateNoWindow" and the installation failed through Intune set in the System context. I was getting "execution failed with exit code [-1]" error in the PSADT logs.

I then tried "Start-ADTProcess -FilePath 'ServiceUI.exe' -ArgumentList 'Process:explorer.exe hwi64_830.exe' -CreateNoWindow" (like what you'd do if not doing PSADT with it) with the same result.

I have pasted the full relevant log below.

I then just did the exe and serviceui.exe in an intunewin file with
".\ServiceUI.exe -Process:explorer.exe hwi64_830.exe" in system context and had no issues getting the installer UI to show.

What might I be missing here?

I know it might end up with me going with the simple method, but I would really like PSADT to be our software deployment standard, so there is interest in making this work with Intune.

Thank you for the continued help.

 Message               : Execution failed with exit code [-1]. Please check the log file for any available stdout/stderr information.
  
 FullyQualifiedErrorId : ProcessExitCodeError,Start-ADTProcess
 ScriptStackTrace      : at Start-ADTProcess<Process>, C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: line 21672
                         at Install-ADTDeployment, C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\Invoke-AppDeployToolkit.ps1: line 130
                         at <ScriptBlock>, C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\Invoke-AppDeployToolkit.ps1: line 251
                         at <ScriptBlock>, <No file>: line 1
  
 TargetObject          : Process     : System.Diagnostics.Process (ServiceUI)
                         LaunchInfo  : ProcessLaunchInfo { FilePath = C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\Files\serviceUI.exe, ArgumentList = System.Collections.ObjectModel.ReadOnlyCollection`1[System.String], WorkingDirectory = C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\Files, Username = , UseLinkedAdminToken = False, InheritEnvironmentVariables = False, ExpandEnvironmentVariables = False, InheritHandles = False, UseUnelevatedToken = False, UseShellExecute = False, Verb = , CreateNoWindow = True, WaitForChildProcesses = False, KillChildProcessesWithParent = False, StreamEncoding = System.Text.SBCSCodePageEncoding, WindowStyle = SW_HIDE, PriorityClass = , CancellationToken = , NoTerminateOnTimeout = False }
                         CommandLine : "C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\Files\serviceUI.exe" hwi64_830.exe
                         ExitCode    : -1
                         StdOut      : { =======================,  Logon Lookup,  =======================,  [winlogon.exe] Session: [1] PID [1144] [Target Session [1] = Match]...}
                         StdErr      : {}
                         Interleaved : { =======================,  Logon Lookup,  =======================,  [winlogon.exe] Session: [1] PID [1144] [Target Session [1] = Match]...}
  
 PositionMessage       : At C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\Invoke-AppDeployToolkit.ps1:130 char:5
                         +     Start-ADTProcess -FilePath 'serviceUI.exe' -ArgumentList 'hwi64_8 ...
                         +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<[LOG]!><time="10:22:17.798-300" date="9-15-2025" component="Invoke-AppDeployToolkit.ps1" context="NT AUTHORITY\SYSTEM" type="3" thread="10812" file="C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\Invoke-AppDeployToolkit.ps1">
<![LOG[[Finalization] :: [REALiX_HWiNFO_8.30_x86_EN_01] install completed in [0.7623727] seconds with exit code [-1].]LOG]!><time="10:22:17.818-300" date="9-15-2025" component="Close-ADTSession" context="NT AUTHORITY\SYSTEM" type="3" thread="10812" file="C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">
<![LOG[-------------------------------------------------------------------------------]LOG]!><time="10:22:17.818-300" date="9-15-2025" component="Close-ADTSession" context="NT AUTHORITY\SYSTEM" type="1" thread="10812" file="C:\WINDOWS\IMECache\c666f3bb-ac15-4730-9a7a-9842b3180c52_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">

Any thoughts anyone might have to share? Any help would be greatly appreciated!

Hi,

Sometimes if you need to roll out an exe that doesnt support silent strings you still need the serviceui to achieve this. Doing what [mjr4077au suggested worked for me.

2 Likes

I am having the same Problem as The_Admin_redeye. Is there anyway I can use PSADT 4.1 and still let users interact with the installation?

I saw a different post that said we need to wait for 4.1.4 and then we can use ServiceUI via Start-ADTProcess within the script. When will 4.1.4 be released?

The problem is that it doesn't work as highlighted in my posts with 4.1.

V4.1.5 has been out for over 2 weeks now.
V4.1.6 might come out next week or so.

Please try with v4.1.5

What we need to see is the "StdOut Output from Execution:" log message so we can properly see what happened with ServiceUI for it to exit with an exit code of -1.

We're at 4.1.5 and have been for about two weeks now. The latest releases are always available here: Releases · PSAppDeployToolkit/PSAppDeployToolkit · GitHub

@The_Admin_Redeye and @Phillip_1, please do ensure you're each using 4.1.5 and test again. Full log files rather than partial snippets would be beneficial as I've confirmed it's working as I made sure it worked for 4.1.4, and other users like vibs have confirmed it's working also.

1 Like