Não é possível executar .exe na unidade de rede

6

Estou tentando executar um arquivo executável de uma unidade de rede no Windows 7 Professional (64 bits) para instalar um programa, mas, sempre que tento, ele não é executado e a seguinte mensagem aparece:

{path-name}
The specified path does not exist.
Check the path, and then try again.

Definitivamente, estou conectado à unidade de rede, pois posso ver todos os diretórios e arquivos e até mesmo abrir tipos de arquivos não executáveis. Além disso, estou bastante confiante de que este não é um problema de firewall nem de permissões.

Kevin Panko
fonte
Algumas informações novas que eu acabei de descobrir: se eu acessar o servidor através do programa 'Run', o EXE funcionará como deveria. É apenas acessar o servidor através da seção 'Local da Rede' em 'Computador' no Windows Explorer que causa o problema.

Respostas:

6

Parece improvável que o OP retorne, então abordarei dois casos específicos que poderiam ter causado isso:

Quando você precisar inserir credenciais para acessar o recurso de rede ou se estiver operando em uma unidade mapeada , a elevação de um processo poderá falhar devido ao UAC.

Isso ocorre porque, com o UAC, você efetua login com duas sessões, uma com acesso administrativo e outra sem. Essas sessões são principalmente separadas, elas não compartilham unidades mapeadas ou tokens de logon de rede.

Sua sessão de não administrador tem suas unidades mapeadas e quaisquer tokens de logon de rede. Após confirmar a caixa de diálogo do UAC, o Windows tenta carregar o programa na sessão de administração. Não possui tokens de logon de rede nem as unidades mapeadas. Como tal, falhará com "arquivo não encontrado" ou "acesso negado".

A Microsoft descreve esse comportamento em mais detalhes neste artigo no TechNet .

Felizmente, existe uma solução alternativa, permitindo "Conexões vinculadas" (descritas no artigo mencionado acima). O .regarquivo a seguir fará isso:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001
Daniel B
fonte
3

Se o servidor estiver executando o Samba, talvez você precise adicionar esta opção à [global]seção de smb.conf:

acl allow execute always = True

Fonte: Execute um .exe em um compartilhamento de samba - unix.stackexchange

Isso informará ao Windows que todos os arquivos podem ser executados e superados chmod a+x *para todos os arquivos no compartilhamento, o que também funciona.

Malvineous
fonte
2

Você pode verificar com o desenvolvedor se o executável que você está iniciando é apenas um invólucro para um ou mais executáveis ​​secundários, que também possuem um requisito de caminho específico.

Você pode precisar de uma letra de unidade específica mapeada (por exemplo, você está iniciando no G: mas o executável empacotado espera um H :), ou seja autenticado em uma máquina diferente ou apenas em um componente ausente.

Ferramentas que você pode usar:

  1. Walker de Dependências Essa ferramenta informa se o seu executável não consegue encontrar algum componente.
  2. Strings.exe . Execute-o no seu executável. Essa ferramenta fornecerá caracteres ascii legíveis por humanos. Você decide se são relevantes.
  3. Uma conversa com o desenvolvedor ou o integrador de sistemas pode ajudar bastante a solucionar o problema de caminho ausente.
RobW
fonte
2

Há um grande número de razões pelas quais você pode ver que:

Eu começaria desativando o UAC e verificaria se isso resolve o problema. Então você sabe que é um problema de permissão e "apenas" precisará corrigir o problema específico.

Não me lembro se você pode ter unidades de rede do Windows montadas sem a opção de executar arquivos também.

Além disso, verificar o mesmo arquivo com outro computador também seria útil (virtual com outro sistema operacional Windows)

Para etapas mais detalhadas:

Citação do suporte da Microsoft:

Esse problema pode ocorrer se qualquer um dos seguintes cenários existir no seu PC.

  • Você não tem permissões para o arquivo ou o local do arquivo.
  • O arquivo está em um local que não está acessível no momento, como um local de rede ou uma unidade externa que não está atualmente conectada ao PC.
  • O arquivo foi movido ou excluído.
  • O arquivo ou atalho está corrompido.
  • O arquivo pode estar bloqueado pelo Windows.
  • Seu software antivírus pode estar bloqueando o arquivo.
Dennis Nolte
fonte
Obrigado pela sua resposta. Eu apenas tentei executar um EXE de um computador diferente, configurado exatamente da mesma maneira que este e que o executa normalmente. Esse fato não descarta a maioria, senão todas, das possibilidades destacadas em sua resposta que poderiam estar causando o problema?
@ user3509923 se os sistemas forem completamente (patches, registro, configurações da conta do usuário) iguais, eu verificaria os logs do outro lado (o sistema de arquivos da rede). Enfatizo essa parte exata porque geralmente há uma pequena alteração, como um patch ou uma edição personalizada feita para outra coisa que pode ser esquecida. Quanto à unidade de rede real: Dependendo da configuração, um desses PCs pode ter permissões diferentes no próprio servidor, embora minha experiência com a WIN Server Network conectada seja muito limitada para ser útil aqui.
Dennis Nolte
1

Quando me deparei com isso, era porque o compartilhamento não tinha permissões definidas corretamente. Tente permitir o acesso de "Usuários do domínio" e "Computadores do domínio" ao compartilhamento.

VanOrman
fonte
0

Eu já vi isso muitas vezes.

Não sei o que o causa, mas se você copiar o arquivo para o disco rígido local e executar o EXE, ele deverá funcionar.

AdamL
fonte
Obrigado pela sua resposta. Eu sei que isso funciona. No entanto, gostaria de saber por que isso está acontecendo, pois executei EXEs muitas vezes a partir de unidades de rede, mas nunca encontrei esse problema antes. Parece um estranho. Você está me dizendo que não é nada para se preocupar?
Algumas operações do sistema de arquivos simplesmente não são suportadas em sistemas de arquivos (de rede) como CIFS / SMB. NTFS transacional é um.
HBruijn
0

Alguns exe (especialmente mais antigos) não podem ser executados diretamente de um compartilhamento de rede, mas podem ser executados a partir de um compartilhamento de rede se você montar o compartilhamento com uma letra de unidade.

jornane
fonte
0

Consegui resolver esse problema excluindo o objeto de computador do domínio, recriando-o e ingressando novamente no computador. Agora ele executa o executável diretamente da unidade de compartilhamento sem problemas.

Permissões compartilhadas versus NTFS NTFS possui compartilhamentos de herança não. É por isso que o exe funcionou na subpasta e não nas permissões de compartilhamento de compartilhamento de pasta pai estavam corrompidas para este computador. A desconexão e a junção do computador à rede corrigiram o problema de compartilhamento.

perplexo
fonte
-2

Eu encontrei a resposta. Estava no painel de controle -> Opções da Internet -> guia Segurança.

  • Esse tipo de coisa está relacionada neste local para configurar como eu me lembro.

  • Não tenho certeza de qual opção era exatamente. Parece que está relacionado a: abrir um download e ser solicitado a "executar" porque foi baixado.

  • Defino toda a segurança para o nível mais baixo nos dois computadores. No computador Vista / 7, eu personalizei para um nível ainda mais baixo. Talvez apenas o uso do botão deslizante seja suficiente. Eu também desliguei todos os firewalls do Windows. Eu não acho que tudo isso será necessário se olharmos mais de perto.

  • BTW anteriormente, eu tive que descobrir que o Windows Vista precisa de um clique com o botão direito do mouse e marque alguma opção de bloqueio final para poder iniciar um download. Foi o mesmo que com isso.

AWD
fonte