Compartilhar via


Criando um arquivo CAB

Esta seção descreve a criação de arquivos CAB para distribuição de controles ATL e MFC pela Internet.Se você precisar obter mais informações sobre os arquivos CAB, consulte o Referência de arquivos de gabinete in the Windows SDK documentação (na Biblioteca MSDN/instalação e administração do sistema / configuração/instalação API/visão geral/arquivos de gabinete).

Para criar um arquivo CAB:

  1. Criar um arquivo INF.

  2. Execute o utilitário CABARC.

Criando um arquivo INF

O arquivo INF é um arquivo de texto que especifica sistema autônomo arquivos (sistema autônomo DLLs ou outros OCXs) que precisam estar presentes ou baixados para o controle seja executado.Um arquivo INF permite reunir todos os arquivos necessários em um arquivo CAB compactado.Por padrão, arquivos com sistema autônomo mesmos números de versão do arquivos existentes no disco rígido do usuário não serão baixados.Para obter mais informações sobre arquivos INF e suas opções, incluindo como criar arquivos de INF independente de plataforma, consulte Sobre arquivos INF and Usando arquivos de INF in the Windows SDK documentação (no Biblioteca MSDN/instalação e sistema Administration/configuração/instalação API/visão geral/instalação Applications).

Por exemplo, o INF seguinte será usado para criar um arquivo CAB para o controle ATL Polygon.Você pode compilação POLYGON.DLL, fazer o download dos arquivos de exemplo de POLÍGONO ATL do CD do Visual C++ e uma versão MinSize compilação ndo.Se você criar uma versão MinSize do controle Polygon, será necessário um DLL adicional, ATL.DLL.Como ATL.DLL precisa ser registrado antes POLYGON.DLL, coloque o ATL.DLL pela primeira vez no arquivo INF:

; Sample INF file for POLYGON.DLL
[version] 
; version signature (same for both NT and Win95) do not remove
signature="$CHICAGO$"
AdvancedINF=2.0  

[Add.Code]
polygon.dll=polygon.dll
atl.dll=atl.dll

; needed DLL
[atl.dll]
file-win32-x86=thiscab
FileVersion=2,00,0,7024
DestDir=11
RegisterServer=yes 

[polygon.dll]
file-win32-x86=thiscab
clsid={4CBBC676-507F-11D0-B98B-000000000000} 
FileVersion=1,0,0,1 
RegisterServer=yes  
; end of INF file

Este INF Especifica que ATL.DLL com determinada versão deve ser instalado no sistema.Se ATL.DLL não já existir no sistema, ele será baixado do arquivo CAB criado com este INF. "thiscab"é uma palavra-chave que significa que o CAB que contém este INF.Você também pode baixar uma DLL necessária de um local HTTP, especificando um caminho absoluto ou relativo, por exemplo:

file-win32-x86=http://example.microsoft.com/mydir/NEEDED.DLL 

A palavra-chave "arquivo-win32-x86" identifica a plataforma sistema autônomo x86 específicos.

Você pode obter o número de versão de um arquivo clicando no botão do mouse direito do mouse no arquivo no Windows Explorer.selecionar Propriedades na lista que aparece, selecionar o Versão guia na caixa de diálogo que aparece.Às vezes, será necessário inserir um 0 extra na versão de arquivo.Por exemplo, o número de versão para o ATL.DLL é mostrado sistema autônomo 2.00.7024 na caixa de diálogo.Isso se torna 2, 00, 0, 7024 no arquivo INF.

"Dirdestino" é onde o diretório onde o arquivo será carregado: 11 especifica o diretório de sistema do WINDOWS/SYSTEM ou WINNT/system32; 10 Especifica o diretório do windows, WINDOWS ou WINNT.Se nenhum dirdestino for especificado (caso típico), código está instalado no diretório OCCACHE fixo.

O "clsid" é a CLSID do controle seja instalado.

Depois de criar um arquivo INF, execute o utilitário CABARC (disponível no diretório Mssdk\Bin) para criar o arquivo CAB.Você deve executar CABARC no diretório que contém os arquivos de fonte.Na linha de comando, coloque os arquivos de fonte na ordem em que eles aparecem no INF e o arquivo INF pela última vez.Por exemplo, para tornar um arquivo CAB para o controle Polygon INF acima, use o seguinte comando:

C:\MSSDK\BIN\CABARC -s 6144 POLYGON.CAB ATL.DLL POLYGON.DLL POLYGON.INF

O arquivo POLYGON.CAB contém uma versão compactada do ATL.DLL e POLYGON.DLL juntamente com as informações necessárias para extraí-los no arquivo POLYGON.INF.

Para obter um exemplo de como analisar e extrair arquivos de componente de arquivos CAB, consulte o exemplo de CabView no MSDN Online Code centralizar em https://msdn.Microsoft.com/VisualC/downloads/Exemplos.ASP (selecionar o link CabView).

Os arquivos DLL que necessários para incluir um controle MFC são Msvcrt.dll, Mfc42.dll e Olepro32.dll.

Executando o utilitário CABARC

O utilitário CABARC está disponível no diretório Mssdk\Bin.Por exemplo:

C:\MSSDK\BIN\CABARC -s 6144 n MYCTL.CAB NEEDED1.DLL NEEDED2.DLL MYCTL.OCX MYCTL.INF

CABARC cria um arquivo CAB chamado MYCTL.CAB.

Você deve executar CABARC no diretório que contém os arquivos de fonte (os arquivos INF OCX e DLL).Os arquivos a serem arquivados no arquivo CAB devem estar listados na linha de comando na mesma ordem em que eles serão listados no arquivo INF.No exemplo acima, o arquivo INF deve lista NEEDED1.DLL primeiro, NEEDED2.DLL e MYCTL.OCX.

The -s opção reserva espaço no gabinete de assinatura de código.The n comando Especifica que você deseja criar um arquivo CAB.Para obter uma lista de CABARC comandos e opções, digite CABARC sozinho na linha de comando:

C:\MSSDK\BIN\CABARC

Consulte também

Conceitos

Criando assinado arquivos CAB para controles ATL e MFC