PSAppDeployToolkit / PSAppDeployToolkit/website

[Documentation] Look at creating an AppLocker/WDAC integration article, or at least one just pertaining to Assigned Access.

Open
#146 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
MDX
Stars
5
Forks
7
Avg merge
3h 46m
Merged PRs (30d)
5

Description

Prerequisites
PSAppDeployToolkit version

4.1.0-rc1

Describe the bug

We're using Assigned Access to configure a device for multi app kiosk mode.
When running Start-ADTMsiProcess to install a MSI it automatically tries to run Update-ADTDesktop after the installation. Update-ADTDesktop fails and the script terminates, the MSI however was installed correctly. On the next installation try, it detects that the MSI is already installed, skips Start-ADTMsiProcess and doesn't crash.

After having a quick look at the source, could this have to do with refreshing the desktop and env vars in user context?

I tried using $ErrorActionPreference = "SilentlyContinue" to skip over the error, but wasn't successfull.

Applocker (which is automatically configured by assigned access) logs, that it blocked PSADT.CLIENTSERVER.CLIENT.EXE

This log was from a MSI uninstall. but its the same issue. Sorry for the German error messages :/ If necessary I'll try to switch the computer to English

<![LOG[[Pre-Install] :: Executing [C:\Windows\system32\msiexec.exe /x "{b66b8a46-664b-4ca1-8388-8c74c25fc620}" REBOOT=ReallySuppress /QN /L*V "C:\ProgramData\Microsoft\IntuneManagementExtension\Logs\TeamViewerHost_15.0.8397.0_Uninstall.log"]...]LOG]!><time="14:00:46.302+60" date="7-16-2025" component="Start-ADTProcess" context="NT-AUTORITÄT\SYSTEM" type="1" thread="3640" file="C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">
<![LOG[[Pre-Install] :: Execution completed successfully with exit code [0].]LOG]!><time="14:00:48.766+60" date="7-16-2025" component="Start-ADTProcess" context="NT-AUTORITÄT\SYSTEM" type="0" thread="3640" file="C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">
<![LOG[[Pre-Install] :: Refreshing the Desktop and the Windows Explorer environment process block.]LOG]!><time="14:00:48.777+60" date="7-16-2025" component="Update-ADTDesktop" context="NT-AUTORITÄT\SYSTEM" type="1" thread="3640" file="C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">
<![LOG[[Pre-Install] :: Instantiating user client/server process.]LOG]!><time="14:00:48.913+60" date="7-16-2025" component="Invoke-ADTClientServerOperation" context="NT-AUTORITÄT\SYSTEM" type="1" thread="3640" file="C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">
<![LOG[[Pre-Install] :: Failed to refresh the Desktop and the Windows Explorer environment process block.
Error Record:
-------------
 
Message               : Ausnahme beim Aufrufen von "Open" mit 0 Argument(en):  "Dieses Programm wurde durch eine Gruppenrichtlinie geblockt. Wenden Sie sich an den Systemadministrator, um weitere Informationen zu erhalten"
InnerException        : System.ComponentModel.Win32Exception (0x80004005): Dieses Programm wurde durch eine Gruppenrichtlinie geblockt. Wenden Sie sich an den Systemadministrator, um weitere Informationen zu erhalten
                           bei PSADT.LibraryInterfaces.AdvApi32.CreateProcessAsUser(SafeHandle hToken, String lpApplicationName, String lpCommandLine, Nullable`1 lpProcessAttributes, Nullable`1 lpThreadAttributes, BOOL bInheritHandles, PROCESS_CREATION_FLAGS dwCreationFlags, SafeEnvironmentBlockHandle lpEnvironment, String lpCurrentDirectory, STARTUPINFOW& lpStartupInfo, PROCESS_INFORMATION& lpProcessInformation) in D:\a\PSAppDeployToolkit\PSAppDeployToolkit\src\PSADT\PSADT\LibraryInterfaces\AdvApi32.cs:Zeile 282.
                           bei PSADT.ProcessManagement.ProcessManager.LaunchAsync(ProcessLaunchInfo launchInfo) in D:\a\PSAppDeployToolkit\PSAppDeployToolkit\src\PSADT\PSADT\ProcessManagement\ProcessManager.cs:Zeile 190.
                           bei PSADT.ClientServer.ServerInstance.Open() in D:\Repos\PSAppDeployToolkit\src\PSADT\PSADT.ClientServer.Server\ServerInstance.cs:Zeile 67.
                           bei CallSite.Target(Closure , CallSite , Object )
 
FullyQualifiedErrorId : Win32Exception,Update-ADTDesktop
ScriptStackTrace      : bei Private:Invoke-ADTClientServerOperation, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 1096
                        bei Update-ADTDesktop<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 23745
                        bei Start-ADTMsiProcess<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 20019
                        bei Uninstall-ADTApplication<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 23512
                        bei Install-ADTDeployment, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1: Zeile 140
                        bei <ScriptBlock>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1: Zeile 327
                        bei <ScriptBlock>, <Keine Datei>: Zeile 1
 
PositionMessage       : In C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1:20019 Zeichen:17
                        +                 & $Script:CommandTable.'Update-ADTDesktop'
                        +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
]LOG]!><time="14:00:49.046+60" date="7-16-2025" component="Update-ADTDesktop" context="NT-AUTORITÄT\SYSTEM" type="3" thread="3640" file="C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">
<![LOG[[Pre-Install] :: Ausnahme beim Aufrufen von "Open" mit 0 Argument(en):  "Dieses Programm wurde durch eine Gruppenrichtlinie geblockt. Wenden Sie sich an den Systemadministrator, um weitere Informationen zu erhalten"
Error Record:
-------------
 
Message               : Ausnahme beim Aufrufen von "Open" mit 0 Argument(en):  "Dieses Programm wurde durch eine Gruppenrichtlinie geblockt. Wenden Sie sich an den Systemadministrator, um weitere Informationen zu erhalten"
InnerException        : System.ComponentModel.Win32Exception (0x80004005): Dieses Programm wurde durch eine Gruppenrichtlinie geblockt. Wenden Sie sich an den Systemadministrator, um weitere Informationen zu erhalten
                           bei PSADT.LibraryInterfaces.AdvApi32.CreateProcessAsUser(SafeHandle hToken, String lpApplicationName, String lpCommandLine, Nullable`1 lpProcessAttributes, Nullable`1 lpThreadAttributes, BOOL bInheritHandles, PROCESS_CREATION_FLAGS dwCreationFlags, SafeEnvironmentBlockHandle lpEnvironment, String lpCurrentDirectory, STARTUPINFOW& lpStartupInfo, PROCESS_INFORMATION& lpProcessInformation) in D:\a\PSAppDeployToolkit\PSAppDeployToolkit\src\PSADT\PSADT\LibraryInterfaces\AdvApi32.cs:Zeile 282.
                           bei PSADT.ProcessManagement.ProcessManager.LaunchAsync(ProcessLaunchInfo launchInfo) in D:\a\PSAppDeployToolkit\PSAppDeployToolkit\src\PSADT\PSADT\ProcessManagement\ProcessManager.cs:Zeile 190.
                           bei PSADT.ClientServer.ServerInstance.Open() in D:\Repos\PSAppDeployToolkit\src\PSADT\PSADT.ClientServer.Server\ServerInstance.cs:Zeile 67.
                           bei CallSite.Target(Closure , CallSite , Object )
 
FullyQualifiedErrorId : Win32Exception,Uninstall-ADTApplication
ScriptStackTrace      : bei Private:Invoke-ADTClientServerOperation, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 1096
                        bei Update-ADTDesktop<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 23745
                        bei Start-ADTMsiProcess<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 20019
                        bei Uninstall-ADTApplication<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 23512
                        bei Install-ADTDeployment, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1: Zeile 140
                        bei <ScriptBlock>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1: Zeile 327
                        bei <ScriptBlock>, <Keine Datei>: Zeile 1
 
PositionMessage       : In C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1:140 Zeichen:9
                        +         Uninstall-ADTApplication -InstalledApplication $oldTeamViewer ...
                        +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
]LOG]!><time="14:00:49.078+60" date="7-16-2025" component="Uninstall-ADTApplication" context="NT-AUTORITÄT\SYSTEM" type="3" thread="3640" file="C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">
<![LOG[[Pre-Install] :: An unhandled error within [Invoke-AppDeployToolkit.ps1] has occurred.
Error Record:
-------------
 
Message               : Ausnahme beim Aufrufen von "Open" mit 0 Argument(en):  "Dieses Programm wurde durch eine Gruppenrichtlinie geblockt. Wenden Sie sich an den Systemadministrator, um weitere Informationen zu erhalten"
InnerException        : System.ComponentModel.Win32Exception (0x80004005): Dieses Programm wurde durch eine Gruppenrichtlinie geblockt. Wenden Sie sich an den Systemadministrator, um weitere Informationen zu erhalten
                           bei PSADT.LibraryInterfaces.AdvApi32.CreateProcessAsUser(SafeHandle hToken, String lpApplicationName, String lpCommandLine, Nullable`1 lpProcessAttributes, Nullable`1 lpThreadAttributes, BOOL bInheritHandles, PROCESS_CREATION_FLAGS dwCreationFlags, SafeEnvironmentBlockHandle lpEnvironment, String lpCurrentDirectory, STARTUPINFOW& lpStartupInfo, PROCESS_INFORMATION& lpProcessInformation) in D:\a\PSAppDeployToolkit\PSAppDeployToolkit\src\PSADT\PSADT\LibraryInterfaces\AdvApi32.cs:Zeile 282.
                           bei PSADT.ProcessManagement.ProcessManager.LaunchAsync(ProcessLaunchInfo launchInfo) in D:\a\PSAppDeployToolkit\PSAppDeployToolkit\src\PSADT\PSADT\ProcessManagement\ProcessManager.cs:Zeile 190.
                           bei PSADT.ClientServer.ServerInstance.Open() in D:\Repos\PSAppDeployToolkit\src\PSADT\PSADT.ClientServer.Server\ServerInstance.cs:Zeile 67.
                           bei CallSite.Target(Closure , CallSite , Object )
 
FullyQualifiedErrorId : Win32Exception,Uninstall-ADTApplication
ScriptStackTrace      : bei Private:Invoke-ADTClientServerOperation, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 1096
                        bei Update-ADTDesktop<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 23745
                        bei Start-ADTMsiProcess<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 20019
                        bei Uninstall-ADTApplication<Process>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1: Zeile 23512
                        bei Install-ADTDeployment, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1: Zeile 140
                        bei <ScriptBlock>, C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1: Zeile 327
                        bei <ScriptBlock>, <Keine Datei>: Zeile 1
 
PositionMessage       : In C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1:140 Zeichen:9
                        +         Uninstall-ADTApplication -InstalledApplication $oldTeamViewer ...
                        +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
]LOG]!><time="14:00:49.104+60" date="7-16-2025" component="Invoke-AppDeployToolkit.ps1" context="NT-AUTORITÄT\SYSTEM" type="3" thread="3640" file="C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\Invoke-AppDeployToolkit.ps1">
<![LOG[[Finalization] :: [TeamViewer_TeamViewerHost_15.67.5.0_x64_EN_01] install completed in [4,3206155] seconds with exit code [60001].]LOG]!><time="14:00:49.121+60" date="7-16-2025" component="Close-ADTSession" context="NT-AUTORITÄT\SYSTEM" type="3" thread="3640" file="C:\Windows\IMECache\a3fd3a20-32e3-46a8-97e7-9a10012eff24_1\PSAppDeployToolkit\PSAppDeployToolkit.psm1">

Steps to reproduce
  1. Configure assigned access
  2. Run Start-ADTMsiProcess
  3. It installs the MSI and trys to run Update-ADTDesktop
  4. Error and script stops
Environment data
OsName               : Microsoft Windows 11 Enterprise
OSDisplayVersion     : 24H2
OsOperatingSystemSKU : EnterpriseEdition
OsArchitecture       : 64-Bit
WindowsVersion       : 2009
WindowsProductName   : Windows 10 Enterprise
WindowsBuildLabEx    : 26100.1.amd64fre.ge_release.240331-1435
OsLanguage           : de-DE
OsMuiLanguages       : {de-DE, en-US}
KeyboardLayout       : de-DE
TimeZone             : (UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien
HyperVisorPresent    : True
CsPartOfDomain       : True
CsPCSystemType       : Mobile


Host:
  Version:      9.0.7
  Architecture: x64
  Commit:       3c298d9f00
  RID:          win-x64

.NET SDKs installed:
  No SDKs were found.

.NET runtimes installed:
  Microsoft.NETCore.App 6.0.36 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.18 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 9.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 8.0.18 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 9.0.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  None

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported Assigned Access multi-app kiosk scenario and the Update-ADTDesktop failure path, including AdvApi32.cs, ProcessManager.cs, and ServerInstance.cs entries cited in the log. Define whether the deliverable is an AppLocker/WDAC integration article or an Assigned Access article, and consider it done when the selected scenario and its PSAppDeployToolkit behavior are documented.

Written by the indexing model from the issue text.

Assessment

Domain
documentation, operating-systems, security
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.