Updating Microsoft Store and Adding New Apps to ISO

crypticus

Well-Known Member
1) when we freshly install windows, microsoft store does tons of updates if we launch it.... so can we integrate those updates to iso?
2) can we add 3rd party modern apps pre installed to iso? like netflix etc already installed maybe we can install some custom ones like vlc player or a specific game etc?
 
1) Don't know, never stumbled on those, also appx (App) integration is not yet added.
If you see an easy way to track those updates, let me know.

2) Similar to #1, if you can get hold of appx file, then yes, use DISM to integrate until this becomes popular, then it will be added to the tool.
 
@EGE94

Create a powershell script for this. Create a cmd file to call the powershell script. Add the cmd file to the runonce HKCU registry folder so that when you first install windows and sign in, it will run the commands.

Here are some powershell tips. I would suggest finding the app you want install it and then use the powershell command to find the windows name.

Here are some examples I use from my powershell script
#Show the name of the app and the PackageFullName and omit the undesired information.
#Get-AppxPackage | Select Name , PackageFullName

# Removes all the windows 10 apps except store
#Get-AppxPackage | where-object {$_.name –notlike "*store*"} | Remove-AppxPackage

# Adds back apps I want / Keep
#Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1812.10048.0_x64__8wekyb3d8bbwe\appxmanifest.xml" -DisableDevelopmentMode
#Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.Windows.Photos_2019.18114.17710.0_x64__8wekyb3d8bbwe\appxmanifest.xml" -DisableDevelopmentMode
#Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.ScreenSketch_10.1811.3471.0_x64__8wekyb3d8bbwe\appxmanifest.xml" -DisableDevelopmentMode
#Add-AppxPackage -register "C:\Program Files\WindowsApps\Microsoft.MicrosoftOfficeHub_18.1902.1223.0_x64__8wekyb3d8bbwe\appxmanifest.xml" -DisableDevelopmentMode


As far as VLC goes, you are in luck because I have a powershell script for that as well: What this does is that it will automatically download the latest version of VLC and then install it. You can adjust the file paths as you see fit.

Write-Output "SIlent Installing VLC"
$VLC = "https://download.videolan.org/vlc/last/win64/"
$getHTML = (New-Object System.Net.WebClient).DownloadString($vlc)
$name = if ($getHTML -match '.+>(vlc-.+\.exe)<.+')
{ $Matches[1]}
$VLC = "https://download.videolan.org/vlc/last/win64/$name"
# Download the installer
$destination = "$env:USERPROFILE\Downloads\VLC-Setup.exe"
$progressPreference = 'silentlyContinue'
Invoke-WebRequest $VLC -OutFile $destination
# Silent Install
Start-Process -FilePath $destination -Args "/L=1033 /S" -Wait
# Remove the installer
rm -Force $destination

By no means am I an expert and a lot of what I found is via lots of googling. I hope this helps.
 
i think it will install normal software, i was asking for store modern app which installs through store
 
Wrote this PS script as proof of concept, for downloading the latest versions of Appx packages from the Store.

The script uses PackageFamilyName (Microsoft.WindowsNotepad_8wekyb3d8bbw) to prevent picking the wrong app, and writes blockmap & appxbundle files to the current folder. Replace Get-AppxPackage with Get-Content if you want to read from a list of app names.
Code:
foreach ($Package in (Get-AppxPackage -AllUsers -PackageTypeFilter Bundle | Sort)) {
    Write-Output $Package.Name
    $Links = (Invoke-WebRequest -UseBasicParsing -Method 'POST' -Uri 'https://store.rg-adguard.net/api/GetFiles' -Body "type=PackageFamilyName&url=$($Package.PackageFamilyName)&ring=Retail" -ContentType 'application/x-www-form-urlencoded').Links

    $AppxBundle = $Links | Where-Object { $_.outerHTML -like "*$($Package.Name)*.appxbundle*" }

    if ($AppxBundle.Count -gt 0) {
        $AppxBundleURL = $AppxBundle.href[-1]
        $AppxBundleFile = $AppxBundle.outerHTML[-1].Split('>')[1].Split('<')[0]

        $Build = ($AppxBundleFile -Split('_'))[1]

        $BlockMap = $Links | Where-Object { $_.outerHTML -like "*$($Package.Name)*$($Build)*BlockMap*" }

        $BlockMapURL = $BlockMap.href
        $BlockMapFile = $BlockMap.outerHTML.Split('>')[1].Split('<')[0]

        Write-Output $AppxBundleFile
        Invoke-WebRequest -Uri $AppxBundleURL -OutFile $AppxBundleFile

        Write-Output $BlockMapFile
        Invoke-WebRequest -Uri $BlockMapURL -OutFile $BlockMapFile
    }
}
 
Back
Top