Problema cópia no windows 7
Olá,
Já faz algum tempo que estou tendo problema para fazer cópia de determinados arquivos do
servidor para a pasta local do meu aplicativo.
Minha aplicação fica localizada na pasta
“C:\Arquivos de programas\MinhaAplicação\Software”.
O problema é que as vezes não sei exatamente porque, alguns arquivos com formatos ( .dll, .ini, .exe ) não efetua a cópia devido a permissão do usuário.
E estes arquivos são então duplicados e movidos para a pasta
“C:\Users\Usuário\AppData\Local\VirtualStore\Program Files\MinhaAplicação\Software”.
OBS: Não posso desabilitar o controle de conta de usuários, não posso criar arquivos do tipo .manifest pois existem usuários normais que utilizam o sistema constantemente.
Estou utilizando uma função de cópia ( CopyFile ) do Delphi 7.
Como resolver este problema?
Obrigado!
Já faz algum tempo que estou tendo problema para fazer cópia de determinados arquivos do
servidor para a pasta local do meu aplicativo.
Minha aplicação fica localizada na pasta
“C:\Arquivos de programas\MinhaAplicação\Software”.
O problema é que as vezes não sei exatamente porque, alguns arquivos com formatos ( .dll, .ini, .exe ) não efetua a cópia devido a permissão do usuário.
E estes arquivos são então duplicados e movidos para a pasta
“C:\Users\Usuário\AppData\Local\VirtualStore\Program Files\MinhaAplicação\Software”.
OBS: Não posso desabilitar o controle de conta de usuários, não posso criar arquivos do tipo .manifest pois existem usuários normais que utilizam o sistema constantemente.
Estou utilizando uma função de cópia ( CopyFile ) do Delphi 7.
Como resolver este problema?
Obrigado!
Timuio
Curtidas 0
Respostas
Alisson Santos
04/11/2011
eu particularmente utilizo cópia de arquivos utilizando shellapi, acho mais facil e não acontece isso comigo, pois na empresa que trabalho temos permissões também e utilizamos o windows 7.
var
Dados: TSHFileOpStruct;
begin
FillChar(Dados,SizeOf(Dados), 0);
with Dados do
begin
wFunc := FO_COPY;
pFrom := PChar(onde está o arquivo);
pTo := PChar(para onde vai ser copiado);
fFlags:= FOF_ALLOWUNDO;
end;
SHFileOperation(Dados);
verifica se assim lhe auxilia.
var
Dados: TSHFileOpStruct;
begin
FillChar(Dados,SizeOf(Dados), 0);
with Dados do
begin
wFunc := FO_COPY;
pFrom := PChar(onde está o arquivo);
pTo := PChar(para onde vai ser copiado);
fFlags:= FOF_ALLOWUNDO;
end;
SHFileOperation(Dados);
verifica se assim lhe auxilia.
GOSTEI 0