Onde devo implantar xcopy meus aplicativos no Windows 7?

3

de um cliente eu tenho alguns aplicativos que são instalados com o xcopy simples. Eu sei que esses aplicativos irão gravar alguns dados em seu diretório instalado em tempo de execução. Agora quero que este aplicativo esteja disponível para todos os usuários no meu PC a partir do menu Iniciar. Onde coloco esses aplicativos no windows 7? Ainda é "c: \ Arquivos de Programas"? Se assim for, os aplicativos não precisam de direitos de administrador para gravar nesse diretório? É aí que o roaming entra em ação? Em caso afirmativo, como posso evitar que o aplicativo grave em uma pasta de roaming especial por usuário e, em vez disso, faça com que ele grave na pasta ONE em que o exe está?

Atualizar (reformulando a pergunta):

Qual é a maneira sugerida / preferida / oficial de implantar um aplicativo (apenas uma pasta com um exe e alguns arquivos extras) no PC com Windows 7 de um cliente, de modo que:

  1. estará disponível para todos os usuários (todos podem clicar duas vezes no exe ou em um atalho)
  2. há apenas uma instância dos arquivos (não uma cópia para cada usuário)
  3. o exe pode ler e gravar na mesma pasta física em que reside (para que leia os mesmos arquivos, não importa qual usuário esteja executando o aplicativo)
  4. nenhuma caixa de diálogo do UAC solicitando direitos privilegiados aparece quando o exe é executado (o exe iteelf não faz nada que exija isso)
por bitbonk 21.02.2010 / 20:42

4 respostas

3

Se você quiser que um aplicativo seja acessível a todos os usuários, ele deve ser instalado no diretório Arquivos de Programas ( Arquivos de Programas (x86) onde aplicável.)

O aplicativo não poderá gravar na pasta em que está instalado, a menos que seja iniciado com privilégios elevados (o que você não deseja). E fazer isso seria uma má ideia de qualquer maneira. Você nunca deveria querer fazer isso.

Em vez disso, você desejará gravar arquivos específicos do usuário em suas pastas de perfil. Dependendo do que você deseja, você pode gravar os dados nas pastas de dados do usuário Roaming ou Local. Se você não sabe, pergunte a si mesmo como o aplicativo deve se comportar em um ambiente de domínio. Geralmente, o perfil móvel (como o nome indica) viaja com o usuário para outras estações de trabalho. Se isso não for desejável para seu aplicativo, use o perfil local.

Se você precisa ter dados compartilhados que todos os usuários precisam ler e escrever, simplesmente não os coloque no diretório de instalação (para gravação). Na inicialização do seu aplicativo, verifique se o arquivo existe no perfil local do usuário Público . Se isso não acontecer, copie o arquivo do diretório de instalação e use a cópia dele.

    
por 20.08.2013 / 15:43
1

What is the suggested/preferred/official way to deploy an application (just a folder with an exe and some extra files) to a customer's Windows 7 PC, so that:

A maneira sugerida / preferida / oficial não é fazer o que você está querendo fazer. A maneira preferida de instalar programas de 32 bits acessíveis por todos os usuários é instalar na pasta Arquivos de Programas de 32 bits. A orientação é que todos os dados do aplicativo devem ser gravados na pasta CommonAppDataFolder .

Seus requisitos são contraditórios à orientação oficial e você deve reconsiderar seus requisitos. Aqui está a orientação oficial da Microsoft:

por 27.08.2013 / 00:03
1

Nesse caso, é melhor ficar fora de C:\Program Files ou C:\Program Files (x86) para programas de 32 bits, por causa das permissões especiais em vigor nessas pastas.

É muito mais simples copiar o aplicativo para outra pasta e dê ao grupo Usuários todas as permissões necessárias nessa pasta.

É fácil criar um atalho para o exe, que você pode:

  • deixe no diretório
  • copie para a área de trabalho do usuário
  • entra no menu Iniciar do usuário
  • copie para o menu Iniciar para todos os usuários, normalmente encontrado em C:\ProgramData\Microsoft\Windows\Start Menu .

A última opção pode ser a mais simples de implementar.

    
por 20.08.2013 / 16:30
0

Você pode deixar em C:\Program Files , apenas altere as permissões na pasta do programa para conceder aos outros usuários os direitos de acesso apropriados na ACL. Você vai querer desativar a herança da pasta pai e adicionar manualmente o usuário "Everyone" com as permissões que você quer que todos tenham.

    
por 21.02.2010 / 20:44