Examinando o AnswerFile
Nota Não há suporte para atualizações de rede fornecidas pelo fornecedor no Microsoft Windows XP (SP1 e posterior), no Microsoft Windows Server 2003 e em sistemas operacionais posteriores.
Imediatamente antes que a barra de progresso "Instalação está copiando arquivos" seja exibida em um sistema que está sendo atualizado, o AnswerFile é criado. As DLLs de migração de rede fornecidas pelo netSetup e pelo fornecedor criam seções no AnswerFile e gravam entradas nessas seções durante a fase de atualização do Winnt32.
Você pode examinar o AnswerFile copiando c:\$win_nt$.~bt\winnt.sif para %TEMP%. Depois que o AnswerFile for copiado, você poderá clicar em Cancelar para cancelar a cópia de arquivo. Você não precisa esperar até que a cópia do arquivo seja concluída.
A tabela a seguir lista as seções de nível superior no AnswerFile e as entradas correspondentes que cada seção contém que pertencem aos componentes de rede:
Seção | Entradas contidas |
---|---|
NetAdapters |
Adaptadores de rede, incluindo adaptadores ISDN |
AsyncAdapters |
Adaptadores assíncronos |
NetProtocols |
Protocolos de rede |
NetServices |
Serviços de rede |
NetClients |
Clientes de rede |
Observação Os componentes do NetClient são preteridos em Windows 8.1, Windows Server 2012 R2 e posteriores.
Para cada componente de rede encontrado durante a fase Winnt32, o NetSetup grava uma entrada na seção de nível superior apropriada do AnswerFile. Cada entrada tem o seguinte formato:
Params. postupgrade-ID
A entrada postupgrade-ID é a ID do dispositivo Windows 2000 ou posterior obtida pelo NetSetup do arquivo netmap.inf para o componente.
Cada entrada especifica o nome da seção de parâmetros para esse componente no AnswerFile. Por exemplo, se a ID do dispositivo Windows 2000 ou posterior de um componente for netadapter2, sua entrada na seção NetAdapters será params.netadapter2. As seções de nível superior e as seções de parâmetro em um AnswerFile não são visíveis para uma DLL de migração de rede.
Ao nome da seção de parâmetros de um componente, NetSetup adiciona a extensão OemSection para criar o nome da seção OEM para o componente. Por exemplo, se a seção de parâmetros de um componente for params.netadapter2, o nome da seção OEM para o componente será params.netadapter2.OemSection. NetSetup passa o nome da seção OEM como o parâmetro szSectionName para a função DoPreUpgradeProcessing fornecida pela DLL de migração de rede para o componente. A função DoPreUpgradeProcessing chama a função NetUpgradeAddSection para criar a seção OEM para um componente no AnswerFile. A função DoPreUpgradeProcessing chama NetUpgradeAddLineToSection para adicionar informações específicas do componente à seção OEM.
A parte a seguir de um AnswerFile mostra as seções e entradas de um adaptador de rede cuja ID do dispositivo Windows 2000 ou posterior é adapter2:
[NetAdapter] ;top-level adapters section
adapter2=params.adapter2 ;entry for adapter2
[params.adapter2] ;parameters section for adapter2
InfID=adapter2 ;Windows 2000 or later device ID
OemSection=params.adapter2.OemSection ;Identifies the OemSection
[params.adapter2.OemSection] ;OemSection created by migration DLL
InfToRunAfterInstall="", adapter2.SectionToRun ;Written by DLL
[adapter2.SectionToRun] ;Section created by migration DLL
AddReg=adapter2.SectionToRun.AddReg ;AddReg directive
[adapter2.SectionToRun.AddReg] ;AddReg section created by DLL
HKR,0\0,IsdnPhoneNumber,0,"111-1111" ;AddReg entries written by DLL
HKR,0\1,IsdnPhoneNumber,0,"222-2222"
HKR,0\0,IsdnSpid,0,"111"
HKR,0\1,IsdnSpid,0,"222"
HKR,0,IsdnSwitchType,0x00010001,1
Durante a fase do modo GUI, o NetSetup detecta a chave InfToRunAfterInstall gravada pela DLL de migração para o params.adapter2.OemSection do exemplo AnswerFile. Conforme direcionado por essa chave, o NetSetup processa o adaptador2. Seção SectionToRun.AddReg . O adaptador2. A seção SectionToRun.AddReg direciona NetSetup para adicionar valores de parâmetro à chave de instância do adapater2 no Registro do Windows 2000 ou posterior. Esses valores de parâmetro devem corresponder aos valores de parâmetro preupgrade que a DLL de migração leu do registro do adaptador2 durante a fase Winnt32 da atualização.
Se uma DLL de migração de rede for carregada durante a fase do modo GUI, sua função DoPreUpgradeProcessing definirá o sinalizador NUA_LOAD_POST_UPGRADE. Esse sinalizador faz com que o NetSetup escreva a entrada OemDllToLoad na seção de parâmetros do componente no AnswerFile. A entrada OemDllToLoad faz com que o NetSetup carregue a DLL de migração para o componente durante a fase de modo gui.
O exemplo a seguir mostra as seções e entradas do AnswerFile para um componente cuja DLL de migração de rede é carregada durante a fase de modo gui:
[NetAdapter] ;top-level adapters section
adapter2=params.adapter2 ;entry for adapter2
[params.adapter2] ;parameters section for adapter2
InfID=adapter2 ;postupgrade device ID
OemSection=params.adapter2.OemSection;Identifies the OemSection
OemDllToLoad=c:\temp\oem0001\migration.dll
Observe a entrada OemDllToLoad na seção params.adapter2 . Observe também que a DLL de migração não criou um params.adapter2.OemSection. Quando a DLL de migração deve ser carregada durante a fase do modo GUI, ela normalmente não grava uma chave InfToRunAfterInstall no AnswerFile. A DLL executa a atualização de pós-instalação; portanto, ele não precisa criar um nome da Seção Oem que contenha diretivas para que o NetSetup seja executado durante a fase do modo GUI.