
Ultimamente, tenho ficado bastante irritado com o fato de não conseguir editar arquivos na pasta C:\Arquivos de Programas\WindowsApps. Usei o comando takedown, em CMD elevado, e alterei as permissões, para permitir que os administradores tivessem controle total (sou administrador) e mudei o proprietário para Administradores. Posso excluir arquivos/pastas, mas sempre que tento editar ou adicionar arquivos, recebo a mensagem de erro "Acesso negado". Como habilito a criação e edição de arquivos em WindowsApps?
Responder1
A WindowsApps
pasta é uma das pastas mais protegidas do Windows 10. Ela contém todos os aplicativos UWP do Windows, aos quais a Microsoft protege zelosamente o acesso. As proteções nesta pasta podem mudar nas versões do Windows.
Os métodos usuais de apropriação e atribuição de permissões não são suficientes para esta pasta, mas ainda são necessários como primeiro passo para obter acesso. Após executá-los, agora é possível acessar a pasta para cópia, mas a edição ainda está bloqueada. Para editar, é necessário salvar o arquivo em outro lugar, e só então substituir o original pela versão editada.
Outra observação é que é possível restaurar a propriedade da pasta TrustedInstaller
sem perder as permissões extras que foram atribuídas, usando o comando:
icacls "%ProgramFiles%\WindowsApps" /setowner "NT Service\TrustedInstaller" /t
Se alguém deseja usar um prompt de comando elevado para obter acesso à pasta, estes são os comandos:
takeown /F "%ProgramFiles%\WindowsApps"
takeown /F "%ProgramFiles%\WindowsApps" /r /d y
icacls "%ProgramFiles%\WindowsApps" /grant Administrators:F
icacls "%ProgramFiles%\WindowsApps" /grant Administrators:F /t
Observo também que problemas de permissão podem ser evitados usando os seguintes comandos antes e depois de alterar as permissões para restaurar completamente as permissões originais:
icacls "%ProgramFiles%\WindowsApps" /save WindowsApps.acl
icacls "%ProgramFiles%" /restore WindowsApps.acl
Para complementar a observação do autor da postagem sobre restaurar as permissões originais na pasta sem ter salvado essas permissões antes de iniciar, isso é feito inserindo em um prompt de comando elevado (cmd) o comando:
icacls "%ProgramFiles%\WindowsApps" /q /c /t /reset
Caso o comando não funcione, ele precisa ser refeito a partir de um CD/USB de boot do Windows, conforme explicado no post Redefinir ACLs padrão para C:\Arquivos de Programas\WindowsApps:
- Siga as instruções nesta página para criar o Mídia de instalação do Windows
- Inicialize a partir do USB/CD, clique em "Reparar meu computador" ao chegar aoInstalarbotão
- SelecioneSolucionar problemas, entãoPrompt de comando
- Sua unidade atual
C:
será a mídia de inicialização, com o disco do sistema Windows provavelmente emD:
, então verifique usandodir D:
e, se não, procure a letra de unidade correta Usando a letra da unidade que você acabou de encontrar (talvez
D:\
), emita o comando:icacls "D:\Program Files\WindowsApps" /q /c /t /reset
Aguarde a conclusão da operação e verifique se há erros na saída
- Reinício.
Responder2
Nível de dificuldade [extremamente avançado].
No Win 10 (versão quase mais recente), li a postagem original de Harry e optei por começar com o backup:
Clique em Iniciar
Digite “cmd” e espere, não aperte enter ainda.
Clique em “executar como administrador”
Tipo:
cd \Progra~1 and hit enter
Permissões de backup:
icacls "%ProgramFiles%\WindowsApps" /save WindowsApps.acl
Eu então continuei com a orientação de Harry:
[Ainda assim]... um prompt de comando elevado para obter acesso à pasta (mas comecei apenas com meu aplicativo, que tinha configurações especiais que queria que eu atualizasse para EyeTV de 64 bits):
takeown /F "%ProgramFiles%\WindowsApps"
takeown /F "%ProgramFiles%\WindowsApps" /r /d y
icacls "%ProgramFiles%\WindowsApps\GENIA...<-your App name" /grant Administrators:F
icacls "%ProgramFiles%\WindowsApps\GENIA...<-your App name" /grant Administrators:F /t
Fui conservador e alterei as configurações de visualização: Selecione Exibir > Opções > Alterar pasta e opções de pesquisa. Selecione a guia Exibir e, em Configurações avançadas, selecione Mostrar arquivos, pastas e unidades ocultas e OK.
Segui então a postagem de Albin acima para obter mais controle e remover a herança (não completamente, mas torná-la individual) em WindowsApps:
![Imagens da postagem de Albin]
Agora clico com o botão direito na pasta WindowsApps em C:\Program Files e reexibi e desmarco somente leitura.
Também dei a mim mesmo, Admin, Controle total, consulte Albin para obter permissões e Aplicar
Então, em cmd elevado:
icacls "file" /setowner "NT Service\\TrustedInstaller" /T /C
Fui para minha pasta Genia no WindowsApps e copiei o arquivo que queria para a área de trabalho, editei-o e copiei-o de volta apenas para a pasta Arquivos de Programas (com confirmação do administrador).
De volta ao prompt de comando elevado, excluí o arquivo antigo que queria alterar: del “filename.ini”.
Então eu peguei o aplicativo Linus Torvalds Git para Windows, da Wikipedia. Instalei o git-bash e executei aquele “clique com o botão direito” como administrador.
Copiei o arquivo usando isso e obtive um arquivo vazio de 0 byte e erro, mas não quebrou meus aplicativos e provou capacidade de gravação.
Eu comprei o Ubuntu 12 e usei o Rufus no modo Freedos/mbr para fazer um USB inicializável do Ubuntu AMD 64 ou 32 iso e inicializar o BIOS no meu UEFI USB.
No modo de teste, usei o ícone da pasta> Win10 “qualquer que seja o nome do seu disco” para montar minha unidade.
No ícone do logotipo (canto superior esquerdo), terminal de pesquisa, clique e navegue por:
cd /media/Win10/Program\ Files > enter
cat filename.ini > WindowsApps/GENIA.../Transponders/filename.ini
Desmontei (ejetei) o Win10 de volta na visualização de pastas. Desligar (botão superior direito), reiniciar.
Espere pelos pontos cerca de dez vezes.
Remova o USB quando solicitado, clique em Enter.
Teste no Windows.
Meu aplicativo agora funciona corretamente, com as configurações atualizadas.
Tentei prompt de cmd elevado:
icalcs %ProgramFiles% /restore WindowsApps.acl
Sem sucesso, então fiz:
icacls "%ProgramFiles%\WindowsApps" /q /c /t /reset
Segui então a postagem de Albin acima para remover o controle e a herança em WindowsApps:
![Imagens da postagem de Albin]
Mesmo estando lá, me tornei dono novamente. Adicionei administradores> verifique os nomes.
Adicionada nova permissão de usuário, verifique nomes;
Acabei de ler e executar, listar o conteúdo da pasta, ler uma segunda entrada do Administrador;
E excluiu a entrada de controle total para mim.
Mudei de proprietário novamente
NT Service\TrustedInstaller > verificar nomes
torna-se TrustedInstaller
Em seguida, cliquei em aplicar e fechei.
Meus aplicativos ainda funcionam.
Responder3
Eu mesmo resolvi isso:
Em um prompt de comando do administrador, o seguinte comando copiará a pasta do pacote WindowsApps (ou qualquer pasta dentro):
robocopy /B /E /COPY:DAT D:\WindowsApps\xxx D:\MyTargetDir
Isso copiará a WindowsApps\xxx
pasta do pacote D:\
para MyTargetDir
a pasta D:\
. Isso funciona porque a opção /B informa ao Windows para usar o token de backup que ignora quaisquer permissões ou limitações/políticas.
Depois disso, os arquivos precisam ser descriptografados:
cipher /D /S:D:\MyTargetDir
Então os arquivos podem ser editados.
Remova a pasta original (ou renomeie-a):
mv D:\WindowsApps\xxx D:\WindowsApps\xxx_
E então copie de volta os arquivos editados:
robocopy /B /E /COPY:DAT D:\MyTargetDir D:\WindowsApps\xxx
NO ENTANTO: Observe que ainda não descobri como iniciar o aplicativo editado, pois por enquanto a Windows Store retornará erros para os aplicativos nessas pastas assim que as permissões forem alteradas. Mudá-los de volta não funcionará.
Responder4
Eu testei todas as soluções para editar arquivos do Age of Empire IV, até mesmo a do Linux! Mas não funciona, o diretório está corrompido... podemos apenas movê-lo para a lixeira :/