Table of Contents
Win32 Apps – The problem
Win32 apps deploy delays, sometimes it is takings hours and even days in some cases
Collecting Information for Win32 apps
Trying to collect more information to narrow down the issue
- Is it always the same application
- No, It is not always the same application
- What is the average size of applications your are trying to deploy
- different sizes in average 100 MB
- Do we have network issues?
- We are encountering this on networks with high bandwidth and even on home WiFi with 1gbps, so it does not seem relevant.
- Do we have a storage issue
- No, devices are almost 512 GB SSD.
- Antivirus specific configuration
- We have reviewed on one of the devices and nothing is blocked
Collecting Logs for Win32 apps issue
I prefer to start with checking IME logs to understand where it failed.
IME logs will be included in MDMDiagnostics logs which can be collected from Intune portal or directly from the device
Note: Microsoft recently changed how log activities and events are made for Win32 apps and the Intune Management Extension (IME) logs. A new log file (AppWorkload.log) contains all logging information related to app deployment activities conducted by the IME
Troubleshooting Win32 apps issue
Analyzing IME log, I prefer to open it with “CMTrace”
On this repro we are deploying only two apps.
- Start processing the app with ID “xxx”
[Win32App][V3Processor] Processing subgraph with app ids: xxx
- Detection 🡪 False expected at this step as app not deployed yet
[Win32App][DetectionActionHandler] Detection running for policy with id: xxx
[Win32App] ProcessDetectionRules starts
[Win32App] ProcessDetectionRules Parsing InstallEx…
[Win32App] Start detectionManager SideCarFileDetectionManager
[Win32App] Path doesn’t exists: xxxpath: False
[Win32App] detectionManager SideCarFileDetectionManager got applicationDetectedByCurrentRule: False as system
[Win32App] Completed detectionManager SideCarFileDetectionManager, applicationDetectedByCurrentRule: False
[Win32App][ReportingManager] Detection state for app with id: xxx has been updated. Report delta: {“DetectionState”:{“OldValue”:null,”NewValue”:”NotInstalled”}}
[Win32App][DetectionActionHandler] Detection for policy with id:xxx resulted in action status: Success and detection state: NotDetected.
- Applicability 🡪 Success
[Win32App][ApplicabilityActionHandler] Handler invoked for 1 app applicability checks.
[Win32App] RequiredOSArchitecture: 2,Is64BitOperatingSystem: True,isArm64: False,applicability: ApplicableBuild: xxxbuild.
[Win32App] applicationRequirementMetadata expected version: xxxbuild, client version: xxxbuild, applicability: Applicable.
[Win32App][ReportingManager] Applicability state for app with id: xxx has been updated. Report delta: {“ApplicabilityState”:{“OldValue”:null,”NewValue”:”Applicable”}}
[Win32App][ReportingManager] Desired state for app with id: xxx has been updated. Report delta: {“DesiredState”:{“OldValue”:null,”NewValue”:”Present”}}
- Downloading 🡪 TImeOut
[Win32App][ReportingManager] Download state for app with id: xxx has been updated. Report delta: {“EnforcementState”:{“OldValue”:null,”NewValue”:”InProgress”}}
[Win32App] Downloading app on session 2. App: xxx
[SendWebRequestInternal] Sending network request… Current proxy is https://fef.msub01.manage.microsoft.com/TrafficGateway/TrafficRoutingService/SideCar/StatelessSideCarGatewayService/SideCarGatewaySessions(xxxSessionID)%3Fapi-version=1.5
[SendWebRequestInternal] Succeeded
[Win32App DO] start creating a new download job, …
[Win32App DO] destination path = C:\Program Files (x86)\Microsoft Intune Management Extension\Content\Incoming\xxx.bin
[Win32App DO] DO Job Id is “JOBID”
Starting job “JOBID”…
Waiting 1800000 ms for 1 jobs to complete “30 mins hardcoded time”
And then for 30 mins it is trying to download content but 0 bytes downloading
[StatusService] Downloading app (id = xxx) via DO, bytes 0/47715344 for user “xxxuserID”
Jobs failed to complete within timeout of 1800000 ms
[Win32App DO] DO downloading is not finished within timeout, jobId = xxx
[Win32App][DownloadActionHandler] Handler completed with action status: Timeout.
Then after 1 hour, it starts again to process the app. And at that time, it success to download the app and execution of the app successded
So why failed to download the app on the first trial, and then it success on the second one, and this second attempt are vary from different repro, it can be 1 hour later or more
So, we reach a checkpoint here …. The deployement timeout during the download step, it started but tried for 30 mins to download but 0 bytes get downloaded.
More Troubleshooting
Digging deep and read “between lines in IME logs 😀 “
[Win32App DO] DO Job default priority is DOJobName
[Win32App DO] DO Job set priority is DOJobName
Mmm , Is there a delivery optimization policy!
Let’s check with the customer
Yes there is a delivery optimization polic, but what is the configuration
Connecting the dots
- Deivery optimization to delay background from Http to 1 hour
- From IME we can see the download tried after 1 hour
Checking the definition of this setting
https://learn.microsoft.com/en-us/mem/intune/configuration/delivery-optimization-settings
Use this setting to configure a maximum time to delay a background download of content over HTTP. This configuration applies only to downloads that support a peer-to-peer download source. During this delay, the device searches for a peer with the content available. While devices wait for a peer source, the download appears to be stuck for the end user.
The Cause
After checking the delivery optimization log, we can confirm that the device is trying to search for a peer for 1 hour, and couldn’t find it, and then after 1 hour it failback to http and then download start.
Your are the victim —- Delivery optimization
The Solution
As per Microsoft doc, the recommended value is 60 sec
So the device will search for a peer for 1 min, if it didn’t find it will failback to http download.
And this solved the issue
Check more articles in IntuneBytes
Leave a Reply