Partilhar via


Diretiva INF AddSoftware

Cada diretiva AddSoftware descreve a instalação de software autônomo. Esta diretiva deve ser usada em um arquivo INF da classe de instalação SoftwareComponent. Para obter mais detalhes sobre componentes de software, consulte Usando um arquivo INF de componente. Esta diretiva é suportada para o Windows 10 versão 1703 e posterior.

Os tipos de instalação válidos dependem da plataforma de destino . Por exemplo, o Desktop suporta instaladores MSI e EXEs de configuração.

Observação

O Tipo 2 é suportado em Drivers Universais, o Tipo 1 é somente desktop.

Quando um arquivo INF de componente de software especifica AddSoftware, o sistema enfileira o software a ser instalado após a instalação do dispositivo. Não há garantia de quando ou se o software será instalado. Se o software referenciado não for instalado, o sistema tentará novamente quando o componente de software de referência for atualizado.

Uma diretiva AddSoftware é usada dentro de um INF DDInstall. Software seção.

[DDInstall.Software]
AddSoftware=SoftwareName,[flags],software-install-section

Inscrições

SoftwareName
Especifica o nome do software a ser instalado. Esse nome deve ser exclusivo em todo o sistema, independentemente do nome do INF ou da seção. O processamento de uma diretiva AddSoftware verifica a versão em relação ao software anterior instalado com o mesmo nome por uma diretiva AddSoftware de qualquer pacote de driver. Recomendamos prefaciar o SoftwareName com o nome do fornecedor, por exemplo, ContosoControlPanel.

bandeiras
Especifica um ou mais sinalizadores (ORed).

0x00000000
A diretiva AddSoftware é processada apenas uma vez.

0x00000001
A diretiva AddSoftware é processada uma vez para cada dispositivo componente que especifica AddSoftware com o mesmo exclusivo SoftwareName.

Por exemplo, considere uma configuração na qual três dispositivos são instalados usando o mesmo arquivo INF. O processo de instalação do software é executado apenas uma vez para sinalizadores 0x00000000 mas três vezes para sinalizadores 0x00000001.

seção de instalação de software
Faz referência a uma seção definida pelo gravador INF que contém informações para a instalação de software.

Observações

Cada nome de seção criado pelo INF deve ser exclusivo dentro do arquivo INF e deve seguir as regras gerais para definir nomes de seção. Para obter mais informações sobre essas regras, consulte Regras gerais de sintaxe para arquivos INF.

Uma diretiva AddSoftware deve fazer referência a uma seção de instalação de software nomeada em outro lugar no arquivo INF. Cada secção tem a seguinte forma:

[software-install-section]

SoftwareType=type-code
[SoftwareBinary=path-to-binary]
[SoftwareArguments=argument[, argument] …]
[SoftwareVersion=w.x.y.z]
[SoftwareID=pfn://x.y.z]

Observação

Consulte SoftwareType para obter informações sobre restrições em entradas de seção e valores.

Qualquer software instalado usando AddSoftware deve ser instalado silenciosamente (ou silenciosamente). Em outras palavras, nenhuma interface do usuário pode ser mostrada ao usuário durante a instalação.

Qualquer software instalado usando AddSoftware não será desinstalado se o dispositivo do componente de software virtual ou seus dispositivos pai forem desinstalados. Se o seu software não for um aplicativo UWP (ou seja, você estiver usando AddSoftware com um SoftwareType de 1), certifique-se de que os usuários possam desinstalá-lo facilmente sem deixar vestígios no registro. Para tal:

  • Se você estiver usando um instalador MSI, configure uma entrada Adicionar ou Remover Programas no pacote do Windows Installer do aplicativo.

  • Se estiver a utilizar um EXE personalizado que instala o estado global do registo/ficheiro (em vez de complementar as definições do dispositivo local), utilize o Desinstalar Chave de Registo.

Entradas e valores da seção de instalação de software

SoftwareType={type-code}
SoftwareType especifica o tipo de instalação de software e é uma entrada necessária.

Um valor de 1 indica que o software associado é um binário MSI ou EXE. Quando esse valor é definido, a entrada SoftwareBinary também é necessária. Um valor de 1 não é suportado no Windows 10 S.

Se SoftwareType estiver definido como 1, SoftwareBinary e SoftwareVersion também serão necessários, mas SoftwareArguments e sinalizadores (na diretiva AddSoftware) são opcionais.

A partir do Windows 10 versão 1709, um valor de 2 indica que o software associado é um link da Microsoft Store. Use um valor de 1 apenas para software específico do dispositivo que não tenha interface gráfica do usuário. Se você tiver um aplicativo específico do dispositivo com elementos gráficos, ele deve vir da Microsoft Store e o driver deve fazer referência a ele usando um SoftwareType valor de 2.

Se SoftwareType estiver definido como 2, SoftwareID será necessário e sinalizadores (na diretiva AddSoftware) serão opcionais. Se SoftwareType estiver definido como 2, SoftwareBinary e SoftwareVersion não serão usados.

Observação

Ao usar SoftwareType 2 da diretiva AddSoftware, não é necessário utilizar um componente INF. A diretiva pode ser usada em qualquer INF com sucesso. Uma diretiva AddSoftware do tipo 1, no entanto, deve ser usada a partir de um componente INF.

Não use AddSoftware para distribuir software que não esteja relacionado a um dispositivo. Por exemplo, um programa utilitário de PC específico do OEM não deve ser instalado com AddSoftware. Em vez disso, use uma das seguintes opções para pré-instalar um aplicativo em uma imagem OEM do Windows 10:

  • Para pré-instalar um aplicativo Win32, inicialize no modo de auditoria e instale o aplicativo. Para obter detalhes, consulte Visão geral do modo de auditoria .

  • Para pré-instalar um aplicativo da Microsoft Store (UWP), consulte Aplicativos pré-instaláveis para dispositivos desktop

Para obter informações sobre como emparelhar um driver com um aplicativo da Plataforma Universal do Windows (UWP), consulte Emparelhando um driver com um aplicativo da Plataforma Universal do Windows (UWP) e Aplicativo de Suporte de Hardware (HSA): Etapas para desenvolvedores de drivers.

SoftwareBinary={filename}
Especifica o caminho para o executável. O sistema gera linhas de comando como as seguintes:

MSI: msiexec /i "<SoftwareBinary>" ALLUSERS=1 /quiet /qn /promptrestart [<SoftwareArguments>]

EXE: <SoftwareBinary> [<SoftwareArguments>]

Se você usar essa entrada, deverá adicionar o executável ao DriverStore especificando o da Diretiva INF CopyFiles com um valor de DestinationDirs de 13.

Observação

Consulte SoftwareType para obter informações sobre restrições em entradas e valores SoftwareBinary.

SoftwareArguments={argument1[, argument2[, ... argumentN]]}
Especifica argumentos específicos da extensão a serem acrescentados à linha de comando. Você pode especificar argumentos de linha de comando que o sistema simplesmente passa para a linha de comando gerada. Você também pode especificar cadeias de caracteres especiais chamadas variáveis de contexto de tempo de execução . Quando você especifica uma variável de contexto de tempo de execução, o sistema a converte em um valor específico do dispositivo antes de anexá-la à linha de comando gerada. Você pode misturar e combinar argumentos de cadeia de caracteres literais com variáveis de contexto de tempo de execução. As variáveis de contexto de tempo de execução suportadas são:

<<DeviceInstanceID>>

O sistema substitui a cadeia de caracteres acima pelo ID da instância do dispositivo do componente de software.

Por exemplo:

    [DDInstall.Software]
    AddSoftware=ContosoControlPanel,,Contoso_ControlPanel_Software

    [Contoso_ControlPanel_Software]
    SoftwareType=1
    SoftwareBinary=ContosoControlPanel.exe
    SoftwareArguments=<<DeviceInstanceID>>
    SoftwareVersion=1.0.0.0

O exemplo acima resulta em uma linha de comando como esta:

<DriverStorePath>\ContosoControlPanel.exe PCI\VEN_0000&DEV_0001&SUBSYS_00000000&REV_00\0123

Se SoftwareArguments contiver vários argumentos:

    SoftwareArguments=arg1,<<DeviceInstanceID>>,arg2

Os resultados acima resultam em:

<DriverStorePath>\ContosoControlPanel.exe arg1 PCI\VEN_0000&DEV_0001&SUBSYS_00000000&REV_00\0123 arg2

Observação

Consulte SoftwareType para obter informações sobre restrições em entradas e valores SoftwareArguments.

SoftwareVersion={w.x.y.z}
Especifica a versão do software. Cada valor não deve exceder 65535. Quando o sistema encontra um SoftwareName duplicado, ele verifica o SoftwareVersion em relação ao anterior SoftwareVersion. Se for maior, o Windows executa o software.

Observação

Consulte SoftwareType para obter informações sobre restrições em entradas e valores SoftwareVersion.

SoftwareID={x.y.z}
Especifica um identificador e um tipo de identificador da Microsoft Store. Atualmente, apenas o nome da família do pacote (PFN) é suportado. Use uma PFN para fazer referência a um aplicativo da Plataforma Universal do Windows (UWP) usando o formulário pfn://<x.y.z>.

Observação

Consulte SoftwareType para obter informações sobre restrições em entradas e valores SoftwareID.

Ver também

Usando um arquivo INF componente

INF DDInstall.Software Seção

Diretiva INF AddComponent

Emparelhar um driver com um aplicativo da Plataforma Universal do Windows (UWP)

Hardware Support App (HSA): Instruções para desenvolvedores de controladores