Criar um diretório em qualquer localização com base no diretório de aplicativos empacotado
Para atender a determinados requisitos, os aplicativos podem requisitar que os arquivos apareçam em seu diretório de instalação existente. Por exemplo, se um determinado aplicativo estava esperando um arquivo em uma pasta, como C:\Arquivos de programa\Contoso, esse diretório pode ser modificado pelos administradores. A partir do Windows 11, os aplicativos podem especificar um diretório fora do diretório do WindowsApps e o sistema operacional garantirá que os arquivos apareçam nessa localização com as ACLs adequadas herdadas do diretório responsável.
Declaração da localização do diretório no manifesto
Para habilitar esse recurso, o pacote precisa declarar para onde projetar os arquivos no pacote. Veja um exemplo
<Package...>
<Extensions>
<desktop8:Extension Category="windows.MutablePackageDirectories">
<desktop8:MutablePackageDirectories>
<desktop8:MutablePackageDirectory target="$(package.volumeroot)\Program Files\<Folder>" Shared=”true”>
</desktop8:MutablePackageDirectories>
</Extension>
</Extensions>
</Package>
Considerações para projeção
Antes de usar esse recurso, veja esta lista de considerações:
Considerações | Descrição |
---|---|
Como instalar um pacote com a capacidade de projetar? | Os pacotes precisam ser instalados por meio da API ProvisionPackageForAllUsers |
Quem pode instalar (usuários ou administradores)? | Admin |
Para onde os arquivos podem ser projetados (localização bloqueada ou qualquer outro lugar)? | Em qualquer lugar que não seja %pf%\windowsapps ou %pf%\modifiablewindowsapps |
Quais são as ACLs no diretório projetado se forem criadas? | Herdado do diretório responsável |
Mais de um pacote pode declarar o mesmo diretório? | Não permitimos que mais de um conjunto relacionado declare o mesmo diretório. Em outras palavras, se houver vários pacotes com a declaração do mesmo diretório, todos eles devem pertencer ao mesmo conjunto de relação. |
E no caso de mais de um fornecedor? | Não |
Como as colisões são resolvidas? | Pacotes e/ou arquivos pré-existentes são mesclados. Os arquivos conflitantes são resolvidos por ordem de prioridade especificada ou pelo nome do pacote em ordem alfabética, se nenhuma ordem for especificada |