Componentes do Framework Redistribuível
Observação
Se o driver tiver como alvo apenas o Windows 10 ou posterior, você não precisará redistribuir o WDF ou fornecer um Coinstalador no pacote de driver. Use estas etapas:
- No Visual Studio, na página de propriedades Configurações do Projeto, em Configurações do Driver -> Versão do Sistema Operacional de Destino, selecione Windows 10 ou superior. Isso equivale a adicionar o seguinte ao arquivo .vcxproj:
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
- Na seção Fabricante INF, especifique 10.0 como versão do sistema operacional de destino, da seguinte maneira:
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0
Este tópico descreve as atualizações de estrutura redistribuíveis fornecidas pela Microsoft que estão incluídas como parte do WDK (Kit de Driver do Windows) e como determinar quais adicionar ao pacote de driver.
As atualizações de estrutura redistribuíveis tornam possível executar um driver criado com uma versão de estrutura posterior à incluída em um sistema operacional. Por exemplo, o KMDF 1.11 está incluído no Windows 8. Mas você pode executar um driver KMDF 1.11 no Windows Vista ou Windows 7. Antes de fazer isso, no entanto, você deve garantir que a biblioteca de estrutura KMDF 1.11 substitua a biblioteca de estrutura incluída no sistema operacional anterior (neste caso, KMDF 1.7 e KMDF 1.9, respectivamente). Para fazer isso, redistribua um coinstalador fornecido pela Microsoft ou um arquivo .msu com o pacote de driver.
Quando preciso incluir um co-instalador ou .msu no meu pacote de driver?
Primeiro, decida quais versões do Windows seu driver suportará. Com base nisso, determine qual versão do framework usar.
Se a versão WDF escolhida for mais recente do que a versão fornecida com o sistema operacional de destino, inclua o arquivo de coinstalador ou .msu no pacote de driver.
Por exemplo, você deseja que seu driver seja executado no Windows 7. Você pode optar por criar seu driver usando WDF 1.11 ou WDF 1.9. Se você escolher 1.9, que é fornecido com o Windows 7, não há necessidade de atualizar o sistema. Por outro lado, se você escolher 1.11, precisará incluir um pacote de atualização WDF 1.11 com seu driver.
Devo incluir o co-instalador ou o arquivo .msu?
Se a instalação do driver for acionada conectando um novo dispositivo de hardware a um sistema e você estiver instalando apenas o driver, inclua o coinstalador no pacote de driver. Em seguida, faça referência ao coinstalador no arquivo INF, conforme descrito em Especificando o coinstalador KMDF em um arquivo INF.
Se você precisar instalar um aplicativo além do driver, deverá redistribuir o pacote MSU relevante (por exemplo, kmdf-1.11-Win.6.0.msu) junto com um aplicativo de instalação que o chame. Nesse caso, nenhuma entrada INF é necessária.
Você nunca precisa do coinstalador e do arquivo .msu.
Onde posso encontrar esses arquivos e o que está incluído?
Esses arquivos não estão mais incluídos no WDK. Em vez disso, eles estão disponíveis como um download separado no Centro de Download da Microsoft. A página de download é componentes redistribuíveis do Windows Driver Kit 8.
Após a instalação, o MSU e os co-instaladores podem ser encontrados em %program files%\Windows Kits\8.0\redist\wdf
.
Este diretório contém os seguintes arquivos, para x86 e x64:
- WdfCoinstaller01007.dll, WdfCoinstaller01009.dll, WdfCoinstaller01011.dll (co-instaladores do KMDF 1.7/1.9/1.11).
- WUDFUpdate_01007.dll, WUDFUpdate_01009.dll, WUDFUpdate_01011.dll (co-instaladores para UMDF).
- winusbcoinstaller.dll, winusbcoinstaller2.dll (co-instaladores para WinUSB 1.5/1.9).
Nomeação e controle de versão do coinstalador
O co-instalador é chamado WdfCoInstallerMMmmm.dll.
- MM é o número da versão principal.
- mmm é o número da versão secundária.
Por exemplo, o nome do arquivo para a versão 1.0 do coinstalador é WdfCoInstaller01000.dll e o nome do arquivo para a versão 1.11 é WdfCoInstaller01011.dll.
A versão do coinstalador que você inclui com o pacote de driver deve corresponder à versão da biblioteca de estrutura que você usa para desenvolver o driver.
Observe que o nome do arquivo da biblioteca de estrutura inclui apenas o número da versão principal. Para obter mais informações sobre nomes de arquivos de biblioteca, consulte Controle de versão de biblioteca do Framework.