Editando/Criando arquivos em C:\Arquivos de Programas\WindowsApps

Editando/Criando arquivos em C:\Arquivos de Programas\WindowsApps

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 WindowsAppspasta é 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:

  1. Siga as instruções nesta página para criar o Mídia de instalação do Windows
  2. Inicialize a partir do USB/CD, clique em "Reparar meu computador" ao chegar aoInstalarbotão
  3. SelecioneSolucionar problemas, entãoPrompt de comando
  4. Sua unidade atual C:será a mídia de inicialização, com o disco do sistema Windows provavelmente em D:, então verifique usando dir D:e, se não, procure a letra de unidade correta
  5. Usando a letra da unidade que você acabou de encontrar (talvez D:\), emita o comando:

    icacls "D:\Program Files\WindowsApps" /q /c /t /reset
    
  6. Aguarde a conclusão da operação e verifique se há erros na saída

  7. 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:

  1. Clique em Iniciar

  2. Digite “cmd” e espere, não aperte enter ainda.

  3. Clique em “executar como administrador”

  4. Tipo:

     cd \Progra~1 and hit enter
    
  5. 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\xxxpasta do pacote D:\para MyTargetDira 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 :/

informação relacionada