- Aviso de isenção de responsabilidade: O procedimento a seguir foi simplificado para que o usuário normal possa entender. Os artigos mencionados são para entusiastas. Outros podem pular aqueles.
Os executáveis normais do Windows (Win32) preferencialmente armazenam arquivos de configuração / log do usuário na pasta %LocalAppData%
que é C:\Users\%USERNAME%\AppData\Local
. Mas no Windows Universal Platform (UWP), esse caminho é redirecionado para outro que é C:\Users\%USERNAME%\AppData\Local\Packages\package_name
. O package_name
é específico para o pacote UWP em questão. Com esse tipo de redirecionamento de caminho, os arquivos de configuração / log do usuário são excluídos automaticamente no momento da desinstalação. Siga este artigo para mais detalhes.
Aqui estão as estruturas do caminho:
-
Pasta de instalação:
- aplicativo normal:
C:\Program Files\
- app UWP:
C:\Program Files\WindowsApps\<Publisher Name>.<App Name>_<Version Code>_<Random String>
- aplicativo normal:
-
Pasta AppData local:
- aplicativo normal:
C:\Users\<User Name>\AppData
- app UWP:
C:\Users\<User Name>\AppData\Local\Packages\<Publisher Name>.<App Name>_<Random String>
- aplicativo normal:
Agora compare o exemplo a seguir com as estruturas de caminho acima. O Ubuntu 18.04 da Windows Store é instalado em:
C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.427.0_x64__79rhkp1fndgsc
E o Local AppData redirecionado será:
C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState
Eu fiz um script do PowerShell com o qual é possível abrir a pasta rootfs do Linux (ou seja, /
) no Explorador de arquivos. Isso usa o cmdlet Get-AppxPackage para obter o Appx nome do pacote. Copie as seguintes linhas no bloco de notas e salve-o com a extensão .ps1 (em vez de .txt). Em seguida, execute-o no PowerShell.
$DistroName=Read-Host "Enter Distribution Name"
$pacakgeName = (Get-AppxPackage *$DistroName*).PackageFamilyName
$appData = [System.Environment]::ExpandEnvironmentVariables("%LocalAppData%")
$rootfs = $appData + "\Packages\" + $pacakgeName + "\LocalState\rootfs"
echo $rootfs
Invoke-Item $rootfs
Read-Host -Prompt "Press any key to continue..."