Process.kill () negado no Windows 7 32bits, mesmo com privilégios de administrador

Olá a todos.

Estou diante de um problema estranho. Meu aplicativo possui um método simples que, no caso do IE entrar em um estado em que ele não responde, esse método é acionado fechando todos os processos do IE e, em seguida, o aplicativo reinicia seu trabalho com o IE.

Código do método:

foreach (System.Diagnostics.Process exe in System.Diagnostics.Process.GetProcesses())
{
     if (exe.ProcessName.StartsWith("iexplore"))
          exe.Kill();
}

Mesmo depurando meu aplicativo com privilégios de administrador, o aplicativo algumas vezes executa esse método com êxito e outras vezes eu recebo o erroAccess Denied mesmo executando como administrador.

Eu até codifiquei meu próprio arquivo de manifesto, especificando a necessidade desse aplicativo ser executado com direitos de administrador, o que eu acho que entendi direito.

Código de manifesto:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity version="1.0.0.0" name="Demo.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
    </application>
  </compatibility>
</asmv1:assembly>

Alguém já teve esse mesmo problema antes? Como posso corrigir esse problema estranho.

obrigado

questionAnswers(4)

yourAnswerToTheQuestion