Unable to add packages offline with DISM

Discussion in 'Windows 11' started by kompassorpigo, Oct 29, 2024.

  1. kompassorpigo

    kompassorpigo MDL Member

    Jun 22, 2016
    128
    23
    10
    #1 kompassorpigo, Oct 29, 2024
    Last edited: Oct 30, 2024
    Hey everybody. I'm ready to pull my hair out.

    I'm trying to add WinGet to LTSC 2021 offline.

    I've tried this:
    Code:
    Add-AppxProvisionedPackage -Path C:\DriverTest\Mount\ -Regions All -PackagePath C:\DriverTest\Winget\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -DependencyPackagePath C:\DriverTest\Winget\Microsoft.VCLibs.x64.14.00.Desktop.appx,C:\DriverTest\Winget\Xaml\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.8.appx -LicensePath C:\DriverTest\Winget\0a769c4da0ae4747ba4ab2f173709ced_License1.xml
    ... and this:
    Code:
    dism /Image:"C:\DriverTest\Mount" /Add-ProvisionedAppxPackage /PackagePath:"C:\DriverTest\Winget\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" /DependencyPackagePath:"C:\DriverTest\Winget\Microsoft.VCLibs.x64.14.00.Desktop.appx" /DependencyPackagePath:"C:\DriverTest\Winget\Xaml\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.8.appx" /LicensePath:"C:\DriverTest\Winget\0a769c4da0ae4747ba4ab2f173709ced_License1.xml" /region=all
    For some reason, Get-AppxProvisionedPackage -Path C:\DriverTest\Mount\ only outputs Microsoft.DesktopAppInstaller after the above two commands despite me listing both Microsoft.VCLibs and Microsoft.UI.Xaml as dependencies. That's the first issue. Aren't dependencies supposed to also be installed?

    I've also tried this:
    Code:
    Add-AppxProvisionedPackage -Path C:\DriverTest\Mount\ -Regions All -PackagePath C:\DriverTest\Winget\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -LicensePath C:\DriverTest\Winget\0a769c4da0ae4747ba4ab2f173709ced_License1.xml
    Add-AppxProvisionedPackage -Path C:\DriverTest\Mount\ -Regions All -PackagePath C:\DriverTest\Winget\Microsoft.VCLibs.x64.14.00.Desktop.appx -SkipLicense
    Add-AppxProvisionedPackage -Path C:\DriverTest\Mount\ -Regions All -PackagePath C:\DriverTest\Winget\Xaml\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.8.appx -SkipLicense
    This way, Get-AppxProvisionedPackage -Path C:\DriverTest\Mount\ does output all three packages.

    On to the second and main issue. Despite all of the variants of the commands above going through without errors, winget isn't recognized when I install Windows. Nothing is output when I run the following:
    Code:
    Get-AppxPackage | Where-Object { $_.Name -Like '*Installer*' }
    Get-AppxPackage | Where-Object { $_.Name -Like '*Xaml*' }
    Get-AppxPackage | Where-Object { $_.Name -Like '*VCLibs*' }
    I'm at a loss, so any pointers would be appreciated.

    Worth noting adding online with Add-AppxPackage installs Winget without issue.
     
  2. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    17,468
    92,606
    340
    No, dependencies do no show up as provisioned apps (unless you add them independently with /SkipLicense)
     
  3. kompassorpigo

    kompassorpigo MDL Member

    Jun 22, 2016
    128
    23
    10
    #3 kompassorpigo, Oct 30, 2024
    Last edited: Oct 30, 2024
    (OP)
    That's good to know. So the first two commands should both be sufficient?

    I'm still at a loss why it doesn't work after installation. I've tried rebooting, creating another user, all to no avail. It can't be because I'm testing this in a VM, can it? Specifically in VMware Workstation using SCSI to boot from a thumbdrive.

    FWIW I've also added drivers offline (separately), and those did show up in Device Manager - Update Driver for individual devices (though none of the added drivers were installed by default I'm guessing because the VM uses genetic virtualized hardware). That tells me the issue is with the DISM commands (and not e.g. the mounting process).
     
  4. delMicron

    delMicron MDL Junior Member

    Dec 28, 2021
    62
    29
    0
    The appx has a package stub, have you tried the following options?
    /StubPackageOption:InstallFull
     
  5. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    17,468
    92,606
    340
    Yes

    does running "Get-AppxProvisionedPackage -Online" after installation shows Microsoft.DesktopAppInstaller?

    you can check Event Viewer:
    Application and Service Logs \ Microsoft \ Windows \ Microsoft-Windows-AppXDeployment-Server > Operational
    use Ctrl+F to search for "Microsoft.DesktopAppInstaller" in logs

    did you add latest Microsoft Store?
     
  6. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    17,468
    92,606
    340
    No
    but because Store requires same dependencies (plus two more), i figured it worth to ask and check

    no mention of Microsoft.DesktopAppInstaller in the logs is weird
     
  7. FengYi

    FengYi MDL Novice

    Sep 24, 2020
    7
    1
    0
    Without adding the Regions parameter, no new applications will appear after OOBE is completed. I have been looking for this problem for a long time.
     
  8. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    17,468
    92,606
    340
    He already use the Regions parameter
     
  9. kompassorpigo

    kompassorpigo MDL Member

    Jun 22, 2016
    128
    23
    10
    #10 kompassorpigo, Nov 3, 2024
    Last edited: Nov 3, 2024
    (OP)
    I think I might've made a bit of progress. If I use the StubPackageOption flag per @delMicron 's recommendation (I am very sorry, I somehow missed it!):
    Code:
    Add-AppxProvisionedPackage -Path C:\DriverTest\Mount\ -Regions All -PackagePath C:\DriverTest\Winget\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -DependencyPackagePath C:\DriverTest\Winget\Microsoft.VCLibs.x64.14.00.Desktop.appx,C:\DriverTest\Winget\Xaml\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.8.appx -LicensePath C:\DriverTest\Winget\0a769c4da0ae4747ba4ab2f173709ced_License1.xml -StubPackageOption InstallFull
    ... both Get-AppxPackage and Get-AppxProvisionedPackage -Online list Microsoft.DesktopAppInstaller. However, winget is still not recognized.

    And if I run these instead:
    Code:
    Add-AppxProvisionedPackage -Path C:\DriverTest\Mount\ -Regions All -PackagePath C:\DriverTest\Winget\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -LicensePath C:\DriverTest\Winget\0a769c4da0ae4747ba4ab2f173709ced_License1.xml -StubPackageOption InstallFull
    Add-AppxProvisionedPackage -Path C:\DriverTest\Mount\ -Regions All -PackagePath C:\DriverTest\Winget\Microsoft.VCLibs.x64.14.00.Desktop.appx -SkipLicense -StubPackageOption InstallFull
    Add-AppxProvisionedPackage -Path C:\DriverTest\Mount\ -Regions All -PackagePath C:\DriverTest\Winget\Xaml\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.8.appx -SkipLicense -StubPackageOption InstallFull
    ... all three packages are listed when checked online after installing, but yet winget is still not recognized:

    Code:
    > Get-AppxPackage | Where-Object { $_.Name -Match 'Installer|Xaml|VCLibs' }
    
    
    Name              : Microsoft.UI.Xaml.2.8
    Publisher         : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
    Architecture      : X64
    ResourceId        :
    Version           : 8.2310.30001.0
    PackageFullName   : Microsoft.UI.Xaml.2.8_8.2310.30001.0_x64__8wekyb3d8bbwe
    InstallLocation   : C:\Program Files\WindowsApps\Microsoft.UI.Xaml.2.8_8.2310.30001.0_x64__8wekyb3d8bbwe
    IsFramework       : True
    PackageFamilyName : Microsoft.UI.Xaml.2.8_8wekyb3d8bbwe
    PublisherId       : 8wekyb3d8bbwe
    IsResourcePackage : False
    IsBundle          : False
    IsDevelopmentMode : False
    NonRemovable      : False
    IsPartiallyStaged : False
    SignatureKind     : Store
    Status            : Ok
    
    Name              : Microsoft.VCLibs.140.00.UWPDesktop
    Publisher         : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
    Architecture      : X64
    ResourceId        :
    Version           : 14.0.33321.0
    PackageFullName   : Microsoft.VCLibs.140.00.UWPDesktop_14.0.33321.0_x64__8wekyb3d8bbwe
    InstallLocation   : C:\Program Files\WindowsApps\Microsoft.VCLibs.140.00.UWPDesktop_14.0.33321.0_x64__8wekyb3d8bbwe
    IsFramework       : True
    PackageFamilyName : Microsoft.VCLibs.140.00.UWPDesktop_8wekyb3d8bbwe
    PublisherId       : 8wekyb3d8bbwe
    IsResourcePackage : False
    IsBundle          : False
    IsDevelopmentMode : False
    NonRemovable      : False
    IsPartiallyStaged : False
    SignatureKind     : Store
    Status            : Ok
    
    Name              : Microsoft.DesktopAppInstaller
    Publisher         : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
    Architecture      : X64
    ResourceId        :
    Version           : 1.24.25180.0
    PackageFullName   : Microsoft.DesktopAppInstaller_1.24.25180.0_x64__8wekyb3d8bbwe
    InstallLocation   : C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.24.25180.0_x64__8wekyb3d8bbwe
    IsFramework       : False
    PackageFamilyName : Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
    PublisherId       : 8wekyb3d8bbwe
    IsResourcePackage : False
    IsBundle          : False
    IsDevelopmentMode : False
    NonRemovable      : False
    IsPartiallyStaged : False
    SignatureKind     : Store
    Status            : Ok
    Code:
    > winget
    winget : The term 'winget' is not recognized as...
    > & 'C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.24.25180.0_x64__8wekyb3d8bbwe\winget'
    Program 'winget.exe' failed to run: Access is deniedAt line:1 char:1
    + & 'C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.24.25 ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.
    At line:1 char:1
    + & 'C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.24.25 ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ResourceUnavailable: (:) [], ApplicationFailedException
        + FullyQualifiedErrorId : NativeCommandFailed