Qual programa pertence a * this instance * java.exe? Por que está lá e posso removê-lo com segurança?

3

Desde que eu estou preso em decidir com certeza se eu deveria excluir C:\WINDOWS\system32\java.exe...

(Eu uso o java.exe em C: \ Arquivos de programas \ Java [javaversion] \ bin, que eu defini explicitamente na minha variável de ambiente do caminho):

Existe um conjunto de registros, mapa ou banco de dados no Windows XP que monitore qual arquivo pertence a qual programa?

Um banco de dados on-line para esse fim, onde posso ter certeza?

Um programa de terceiros?

Diferentemente da questão vinculada , gostaria de saber sobre registros estáticos, talvez criados no momento da instalação. Você nunca sabe se a instância em execução tocará todos os seus arquivos em potencial para esta instância. Além disso, isso não vai a lugar nenhum: executando todos os programas instalados para ver se ele toca o java.exe. Talvez alguém já tenha desenvolvido um script ou similar, empregando o Process Explorer e / ou Process Monitor e / ou manipulando e / ou algo mais para indexar todos os arquivos uma vez ou regularmente, retrospectivamente?

panny
fonte
Tenho certeza que você pode excluí-lo com segurança. na pior das hipóteses, faça um backup e se algo que você executar não funcionar na próxima semana, você saberá a qual programa ele pertence. Se não, você está bem.
Jakob Weisblat
@ Jake223 abordagem perfeitamente legítima ... Estou admitidamente um pouco farta de tentativa e erro e quero saber realmente o que estou fazendo agora, independentemente do processo java.exe, que provavelmente é apenas uma cópia do a rotina de instalação ... talvez eu deve verificar se a oracle tem algo publicado ... "é assim que instalar o software em sua máquina" estilo
panny

Respostas:

1

Pensando em onde C:\WINDOWS\system32\java.exepoderiam estar as referências , que eu poderia verificar sem ter que executar todos os programas no computador, eu pensaria:

  1. No registro (com o qual posso pesquisar regedt32).
  2. Em um arquivo em algum lugar - um arquivo de dados ou um arquivo executável.
  3. (perdi alguma possibilidade?)

A opção 2 pode ser verificada apenas pesquisando em todos os arquivos (digamos) o texto java, a menos que os arquivos estejam compactados ou a referência a que javaesteja sendo deliberadamente oculta. Eu verifiquei e o Windows Search não parece interessado em encontrar cadeias de caracteres em arquivos executáveis, portanto, seria necessário usar algo como o stringsGNU BinUtils para encontrar uma lista de cadeias de texto em cada arquivo executável, seguido por greppara encontrar todas as referências a java.

Simon
fonte
Talvez haja algo oculto no Windows XP, um serviço em segundo plano que registre arquivos quando instalados instalados com o nome do programa (também criado para o menu Iniciar)? ? Ou um programa de terceiros para este .. Lembro-me no linux não são executáveis semelhante ... Eu acho que emergem do Gentoo tem algo assim ..
panny
@panny: Não estou ciente disso no Windows XP e, mesmo que houvesse, isso dependeria da instalação de todo o software no PC, de acordo com o procedimento que registra os arquivos, o que pode ser otimista ...
Simon
Poderia ser um deamon de monitoramento de disco e só precisaria ser informado sobre o início e o término da instalação ou talvez o nome do processo de instalação oder id ou algo que o identifique como uma rotina de instalação?
Panny
2
Também pensei em renomear java.exee substituí-lo por outro programa chamado java.exeque simplesmente chamava de executável java renomeado após despejar uma lista de processos atual em um arquivo de log. Isso seria semelhante à abordagem sugerida por @ Jake223, mas na verdade não quebraria nada em que se baseasse java.exe. Se, após um período de tempo, o arquivo de log tiver algum conteúdo, a comparação da lista de processos quando o java foi chamado com a lista de processos em outros momentos deverá fornecer algumas dicas sobre o que está usando esse arquivo executável específico.
Simon