Como posso saber se o sistema operacional Windows de um usuário foi atualizado da versão anterior do Windows ou se a versão atual do Windows é a versão originalmente instalada? Por exemplo, como posso saber se o Windows 8.1 foi atualizado do Windows 8 (ou anterior)?
Responder1
Se o Windows foi atualizado de uma versão anterior, você deverá ter a pasta Windows.old, que às vezes é removida se você executar a Limpeza de disco.
O arquivo C:\Windows.old\System32\license.rtf informará exatamente qual versão foi instalada antes da atualização para o Windows 8.1.
EDIT: Parece que com o WIndows 8.1 a pasta Windows.old é removida automaticamente 28 dias após a atualização.
Outra opção seria encontrar as informações mais antigas do Relatório de Erros do Windows no Visualizador de Eventos.
http://windows.microsoft.com/en-us/windows/what-information-event-logs-event-viewer#1TC=windows-7
Dependendo da aplicação informada nele terá algo assim.
svchost.exe_netsvcs
6.3.9600.16384
6.3.9600.2.0.0
ou isto
Microsoft.SkypeApp_2.0.0.5011_x86__kzf8qxf38zg5c
praid:App
6.3.9600.16384
ou isto
HostProblem
HostTimeout
2
6.3.9600.16384. (winblue_rtm.130821-1623)
6.3 é o Windows 8.1, verifique o Visualizador de Eventos para esse tipo, começando pelo mais antigo, e veja quais versões serão relatadas lá.
Ao abrir o Even Viewer, vá para Logs do Windows > Aplicativo. Clique em Filtrar log atual no lado direito e Filtrar apenas nível de evento: informações e fontes de eventos Relatório de erros do Windows e, em seguida, classifique-os por data para encontrar o mais antigo.
Você também pode tentar filtrar por Fontes de Eventos: Kernel-General, e ver qual é a versão mais antiga que contém a versão relatada em Dados do Evento, e ver quais são os valores MajorVersion e MinorVersion.
Veja aqui os números de lançamento da versão do Windows
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx