Arquivo sendo copiado para o SysWOW64 em vez de System32
Eu tenho que copiar um utilitário psTool para a pasta System32 quando meu aplicativo é executado.
Eu estou em 64 bits do Windows 7 e sempre que, eu tento copiar o exe para a pasta system32 bit atravésFile.Copy
, o exe sempre é copiado para o SysWow64.
Quando eu coloco um ponto de interrupção no destFile, o caminho é mostrado comoC:\Windows\System32
mas o arquivo não vai lá (vai para o sysWow64). Eu tentei oSpecial Folder
SystemX86
, mas o arquivo vai novamente para o sysWOW64.
<code>string sourceFile = "C:\bin\Debug\somexe.exe" string destFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), utilityName); File.Copy(sourceFile, destFile, true); </code>
Alguma sugestão do que estou sentindo falta aqui?
EDITAR
Como apontado abaixo na resposta, há redirecionamento do sistema de arquivos em andamento. Eu estou desenvolvendo o aplicativo com as configurações padrão do Visual Studio para um aplicativo de console em um sistema operacional de 64 bits. Não tenho certeza quais configurações / opções devem ser mantidas durante a compilação, para que o aplicativo funcione em sistemas operacionais de 32 e 64 bits.
Basicamente, deve apenas definir copiar o arquivo paraSystem32
apenas independentemente do que bit é o sistema operacional.
Mais tarde no programa, eu tenho que acessar o utilitário psTools através da linha de comando que não está disponível se eu colocá-lo no SysWOW64. Se eu fizer alterações, para usar o cmd.exe de 32 bits do SysWOW64, isso seria novamente algo específico da plataforma de 64 bits, que eu não quero optar.
Qualquer solução que possa ter o aplicativo rodando em 32 bits e 64 bits sem problemas? Eu tenho que modificar o código (como?) Ou eu tenho que modificar algumas propriedades deste projeto de aplicativo de console (quais propriedades)?