¿Cómo hacer que todas las aplicaciones se muestren en Shell:AppsFolder cuando se usa Shell Launcher V2 para iniciar una aplicación de Shell personalizada?

¿Cómo hacer que todas las aplicaciones se muestren en Shell:AppsFolder cuando se usa Shell Launcher V2 para iniciar una aplicación de Shell personalizada?

Utilicé Shell Launcher V2 para configurar una aplicación personalizada (win32, no UWP) para ejecutarla como shell en una máquina que ejecuta Windows 11 Enterprise. Esto funciona bien, pero necesito iniciar otra aplicación win32 desde la aplicación shell. Normalmente, uso shell:AppsFolder para obtener el AUMID de la otra aplicación y ejecutarla.

El problema es que shell:AppsFolder solo muestra aplicaciones para UWP cuando uso el shell personalizado, mientras que cuando se ejecuta normalmente (es decir, con el shell del explorador normal), obtengo todos los programas instalados (UWP o de otro tipo) en shell:AppsFolder.

¿Cómo puedo configurar Shell Launcher V2 para obtener todas las aplicaciones instaladas cuando ejecuto el shell personalizado y no solo las aplicaciones para UWP?

Editar: después de jugar un poco más con el shell, llegué a un punto en el que se actualizó. Entre las cosas que probé estaba ejecutar el solucionador de problemas de actualización de Windows, el solucionador de problemas de la tienda de Windows, reparé y restablecí la aplicación de la tienda y agregué una cuenta de Microsoft.

No estoy seguro de cuál de estas acciones lo causó, pero ahora shell:AppsFolder muestra todas las aplicaciones. Sin embargo, al instalar o eliminar una aplicación, ya sea una aplicación para UWP o una aplicación win32, shell:AppsFolder no reacciona.

También probé otras cosas para ver si puedo obtener el AUMID de otras maneras y lo que descubrí fue que al ejecutarlo Get-StartAppso Get-AppxPackageen Powershell tampoco se enumeran las aplicaciones recién instaladas, UWP o de otro tipo, mientras que cuando se ejecuta con el explorador como Shell, sí lo hacen.

Es como si Windows no tuviera conocimiento de la instalación o eliminación de aplicaciones cuando utiliza un shell personalizado. ¿Existe algún servicio o algo que no se esté ejecutando y que le indique a Windows cuándo se instalan o eliminan aplicaciones?

Respuesta1

Pruebe algunos de estos; no estoy seguro de qué se actualiza cuando el shell no se está ejecutando realmente:

# List the package class names for the user from the registry 
# these should be closest to the actual packages list, but don't have ID as a property
$ActivatableClasses = (Get-ChildItem 'HKCU:\Software\Classes\ActivatableClasses\Package\').PSChildName

# this should get all the actual AppX AUMIDs
$AppxClasses = (Get-ItemProperty 'HKCU:\SOFTWARE\Classes\AppX*\Application').AppUserModelID

# starts a new shell com instance and asks it for the appx ID list - likely the same result as shell:AppsFolder
$ApplicationIDs = (New-Object -ComObject Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').Items() | % path

# more of a .net-specific way to do Get-AppxPackage
$packages = [Windows.Management.Deployment.PackageManager]::new().FindPackagesForUser("")

información relacionada