fleetdm / fleet

Open device management
https://fleetdm.com
Other
5.22k stars 611 forks source link

When VPP app exists in software library for macOS and iOS/iPad OS, the install command is sent multiple times during Setup Experience #30209

Open jmwatts opened 2 weeks ago

jmwatts commented 2 weeks ago

Fleet version: 4.69.0

Web browser and operating system: n/a


💥  Actual behavior

Error from install command during Setup Experience:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandUUID</key>
    <string>a1977fb4-9393-4a7e-b5dd-ed028542b87c</string>
    <key>ErrorChain</key>
    <array>
        <dict>
            <key>ErrorCode</key>
            <integer>506</integer>
            <key>ErrorDomain</key>
            <string>ASDErrorDomain</string>
            <key>LocalizedDescription</key>
            <string>Duplicate request</string>
        </dict>
    </array>
    <key>RejectionReason</key>
    <string>Other</string>
    <key>State</key>
    <string>Failed</string>
    <key>Status</key>
    <string>Error</string>
    <key>UDID</key>
    <string>8FA05CF3-20AA-5541-BA9F-81B84B4523CC</string>
</dict>
</plist>

It's a duplicate request because it already installed it once: Image

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandUUID</key>
    <string>6ff6c45f-1cdd-4f76-aa25-612bae6979f7</string>
    <key>Identifier</key>
    <string>net.whatsapp.WhatsApp</string>
    <key>State</key>
    <string>Installing</string>
    <key>Status</key>
    <string>Acknowledged</string>
    <key>UDID</key>
    <string>8FA05CF3-20AA-5541-BA9F-81B84B4523CC</string>
</dict>
</plist>

🧑‍💻  Steps to reproduce

  1. Purchase a VPP app that supports multiple platforms, such as macOS and iOS. I used Whatsapp
  2. Navigate to your selected team's software page. Click "Add software", then select "App Store (VPP)"
  3. Add the macOS version of the app with the Self-service option
  4. Add the iOS version of the app
  5. Go to Controls->Setup Experience->Install Software. Click "Show Selected Software". Add the macOS version
  6. Enroll an ADE capable macOS host (make sure Settings >> Integrations >> MDM >> Automatic enrollment is set up for the team you just configured Setup experience for)
  7. Observe software install activities

🕯️ More info (optional)

Addresses "More info" section of #29506

Ensure that the install command doesn't run again once software is installed during setup experience. Or that the install command is sent only once?

eugkuo commented 2 weeks ago

@mostlikelee I took a stab at the To fix section. LMK what you think and whether you want to update it with more specifics. Also, there is a question from me as to which approach to take to fix this. Please take a look and update as necessary.