Por que o .NET Framework 4.5.1 não está sendo instalado corretamente no Windows Embedded 8 Standard?

2

Eu criei um aplicativo que segmenta o .NET Framework 4.5.1 e foi executado em alguns sistemas Windows 7 Professional sem problemas. Recentemente, compramos alguns Windows Embedded 8 Standard thin clients (IA64) para testar o aplicativo executado nativamente nesses sistemas.

Eu executei o instalador do .NET 4.5.1 no thin client e verifiquei que o 4.5.1 estava de fato instalado no sistema (verificando o registro para os valores DWORD apropriados conforme instruído aqui )

O aplicativo não será executado e me fornecerá uma caixa de diálogo indicando "This application requires one of the following version of the .NET Framework: .NETFramework,Version=v4.5.1" . O app.config deste aplicativo possui os seguintes nós

<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
</startup>

Pelo que entendi do snippet acima, ele está configurado corretamente e deve funcionar bem e, na verdade, funciona nos sistemas Windows 7 Professional .

A parte confusa para mim é que, se eu remover todo o nó <startup> do arquivo app.config , o aplicativo será executado corretamente, mas recusará quando o nó de inicialização estiver presente. Existe algum problema com o .NET Framework 4.5.1 em um sistema Windows Embedded 8 Standard? Estou possivelmente fazendo algo errado?

Eu sei que posso apenas remover o nó e acabar com isso, mas gostaria de saber por que isso está acontecendo, em vez de simplesmente fazê-lo funcionar.

UPDATE

Fiz algumas pesquisas adicionais e parece que em um sistema normal (Windows 8) o instalador do .NET adicionará a seguinte chave ao registro (entre algumas outras), mas elas não são criadas pelo instalador quando executadas em um Sistema Windows Embedded 8 Standard (tenha em mente que o instalador não falha e não relata nenhum problema).

HKLM\Software\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.5.1

A chave acima está completamente ausente após a instalação da estrutura no sistema embarcado, o que faz com que o aviso seja exibido. Se eu remover essa chave de um sistema que a possui e tentar executar o aplicativo, recebo o mesmo comportamento de popup de aviso; então, meu palpite é que isso está ligado a isso de alguma forma.

    
por vane 03.12.2014 / 21:55

0 respostas