Pergunta

Nosso aplicativo exige que o driver de dispositivo HASP SRM seja instalado para que o nosso instale e seja executado.

No momento, apenas seus 5,50 drivers trabalham de forma consistente em todas as plataformas testadas (os motoristas de 5,75 (oficial) e 5,86 (beta) travam cerca de 1 em 3 computadores testados).

Portanto, seus 5,50 drivers são bons, qualquer outra coisa disponível atualmente está quebrada e os 5.50 motoristas se recusam a carregar no Vista e no Windows 7. No entanto, se eu definir as propriedades do exe como "Modo de compatibilidade XP", o driver 5.50 instala e executar com sucesso .

Eu procurei no registro no Windows 7 e descobri que há pelo menos uma entrada feita quando peço modo de compatibilidade:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\
    full-path REG_SZ WINXPSP3

Devo poder adicionar essa chave do nosso instalador, antes de tentar iniciar o instalador do driver 5.50.

Perguntas:

  • Onde posso encontrar uma discussão mais completa dos modos de compatibilidade?
  • As chaves/configurações são diferentes no Vista vs. Windows 7?
  • As chaves/configurações são diferentes abaixo de 32 bits vs. 64 bits?
  • Existe uma maneira de pedir isso diretamente para isso quando eu chamo CreateProcess ()?
Foi útil?

Solução

Você pode definir o __Compat_layer Variável de ambiente (configurando -a em seu processo antes de ligar para CreateProcess ou construir um novo bloco de ambiente para CreateProcess)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top