Como publicar suas macros no Gerenciador de Extensões: Guia Completo
Aprenda a empacotar e distribuir macros VBA no Gerenciador de Extensões do CorelDRAW. Passo a passo técnico para desenvolvedores e automatizadores.
Mais de 78% dos usuários avançados de CorelDRAW nunca instalam uma extensão de terceiros por medo de ‘quebrar’ o software ou por não saberem gerenciar o Gerenciador de Extensões. Essa barreira invisível impede que automações poderosas saiam da máquina do desenvolvedor e cheguem à linha de produção.
Publicar no Gerenciador de Extensões não é burocracia: é a ponte entre seu código VBA e a usabilidade real. O formato .ccx padroniza instalação, versionamento, ícones, dependências e segurança — tudo que um arquivo .gms solto não entrega.
Este guia cobre o processo completo: da estrutura de pastas à assinatura digital, passando pelo manifest.xml e testes em máquina limpa. No final, você terá um pacote profissional pronto para distribuir a clientes ou publicar na loja oficial.
Estrutura obrigatória do pacote .ccx
O Gerenciador de Extensões espera um arquivo ZIP renomeado para .ccx com organização rígida. Na raiz deve estar o manifest.xml — o coração da extensão. Pastas recomendadas:
minha-extensao.ccx
├── manifest.xml
├── icons/
│ ├── icon-24.png
│ └── icon-32.png
├── macros/
│ └── MeuProjeto.gms
└── resources/
├── config.ini
└── biblioteca.dll
Essa separação garante que o instalador copie cada item no local correto do perfil do usuário (%AppData%\Corel\CorelDRAW\...). Evite caminhos absolutos no código VBA; use ThisMacro.Path para localizar recursos relativos ao GMS instalado.
O manifest.xml: metadados que o CorelDRAW lê
O arquivo XML define identidade, versão, dependências e pontos de entrada. Exemplo mínimo funcional:
<?xml version="1.0" encoding="utf-8"?>
<ExtensionManifest xmlns="http://www.corel.com/extensionmanifest/1.0">
<Id>{GUID-ÚNICO-AQUI}</Id>
<Name>Separador de Cores Automático</Name>
<Version>1.0.0</Version>
<Author>Seu Nome / Empresa</Author>
<Description>Automatiza separação de cores para serigrafia com presets salvos.</Description>
<Icon>icons/icon-24.png</Icon>
<LargeIcon>icons/icon-32.png</LargeIcon>
<EntryPoints>
<EntryPoint Type="Macro" File="macros/MeuProjeto.gms" Macro="Main.SepararCores" />
</EntryPoints>
<Files>
<File Source="macros/MeuProjeto.gms" Target="macros/MeuProjeto.gms" />
<File Source="resources/config.ini" Target="resources/config.ini" />
<File Source="resources/biblioteca.dll" Target="resources/biblioteca.dll" />
</Files>
</ExtensionManifest>
Gere um GUID único (use New-Guid no PowerShell ou sites geradores). O EntryPoint vincula o botão no CorelDRAW à macro pública no módulo Main. Declare todos os arquivos na seção <Files> — o instalador ignora o que não está listado.
Ícones, assinatura e empacotamento
Ícones devem ser PNG com fundo transparente, 24x24 (barra de ferramentas) e 32x32 (Gerenciador). Teste visualmente no CorelDRAW antes de fechar o pacote.
Para assinar digitalmente (obrigatório na loja oficial, recomendado sempre):
- Obtenha certificado Code Signing (Sectigo, DigiCert, GlobalSign).
- Use
signtool.exedo Windows SDK:signtool sign /f meu-cert.pfx /p senha /tr http://timestamp.digicert.com /td sha256 /fd sha256 minha-extensao.ccx - Verifique:
signtool verify /pa /v minha-extensao.ccx.
Sem certificado, o CorelDRAW avisará “Editor desconhecido” na instalação. Para distribuição interna, isso é aceitável; para clientes externos, transmite amadorismo.
Testes em máquina limpa: o passo que ninguém pula impunemente
Nunca entregue sem testar em ambiente isolado. Crie VM (VirtualBox, Hyper-V) ou usuário Windows novo:
- Instale CorelDRAW versão-alvo (mínima declarada no manifest).
- Clique duas vezes no
.ccx→ confirme instalação. - Abra Ferramentas > Gerenciador de Extensões. Verifique:
- Nome, versão, autor, ícone aparecem corretos.
- Botão “Desativar” / “Remover” funcionam.
- Nenhum erro no log (
Ajuda > Log de Extensões).
- Execute a macro via atalho, menu ou docker.
- Desinstale e reinstale — configurações usuário devem persistir se salvas em
Application.DataFolder.
Esse teste pega 90% dos erros: caminhos quebrados, DLLs faltando, GUID duplicado, macro não pública (Private em vez de Public).
Versionamento e atualizações automáticas
O Gerenciador compara a versão no manifest com a instalada. Use SemVer: MAIOR.MENOR.PATCH (ex: 1.2.3).
- PATCH (1.2.3 → 1.2.4): correções de bug, sem mudança de interface.
- MENOR (1.2.3 → 1.3.0): novas funcionalidades, compatível para trás.
- MAIOR (1.2.3 → 2.0.0): quebra compatibilidade (ex: muda assinatura de função pública).
Ao gerar nova versão, mantenha o mesmo GUID. O CorelDRAW usa o ID para saber que é atualização do mesmo pacote. Incrementando a versão e reassinando, o usuário verá botão “Atualizar” no Gerenciador — sem desinstalar o anterior.
Distribuição: loja oficial, site próprio ou entrega direta
Três caminhos principais:
| Canal | Vantagens | Requisitos |
|---|---|---|
| Loja CorelDRAW | Visibilidade global, instalação 1-clique, atualizações nativas, confiança | Certificado válido, revisão manual (3-10 dias), 30% comissão |
| Seu site / Gumroad | Controle total, preço próprio, relação direta com cliente | Hospedagem, sistema de licenças (se pago), suporte próprio |
| Entrega direta (e-mail/Drive) | Simples, grátis, ideal para clientes corporativos fechados | Nenhum, mas sem auto-atualização |
Para clientes corporativos, envie .ccx assinado + PDF com instruções: “Clique duas vezes, aceite, pronto”. Inclua CHANGELOG.md no pacote ou no e-mail.
Armadilhas comuns e como evitá-las
- GUID duplicado: gere novo a cada projeto. Dois pacotes com mesmo ID entram em conflito.
- Macro
Private: apenasPublic Subaparece no EntryPoint. - Referências VBA não resolvidas: no editor VBA, Ferramentas > Referências — marque apenas o essencial. DLLs customizadas vão em
/resourcese registro viaDeclare PtrSafese necessário. - Caminhos hardcoded:
C:\Users\Joao\...quebra em outra máquina. SempreThisMacro.Path & "\resources\config.ini". - Esquecer
<Files>no manifest: arquivo existe no ZIP mas não é copiado na instalação.
Para aprofundar em boas práticas de código que facilitam o empacotamento, veja Boas práticas de desempenho em macros para produção.
Próximos passos: do pacote à automação escalável
Publicar no Gerenciador de Extensões transforma sua macro de “arquivo que roda na minha máquina” para “ferramenta que a equipe instala e confia”. O investimento em manifest, ícones, assinatura e testes paga-se na primeira instalação sem suporte remoto.
Comece hoje: pegue seu GMS mais estável, crie o manifest, gere o .ccx e instale numa VM. O resto é refinamento. Suas automações merecem sair da gaveta — e o Gerenciador de Extensões é a porta de saída padrão do ecossistema CorelDRAW.
Quer ver um caso real de automação que passou por esse pipeline? Confira Automatize separação de cores para impressão serigráfica — do VBA bruto à extensão instalada em 40 estações de pré-impressão.
Checklist prático
Perguntas frequentes
Qual a diferença entre salvar um GMS e publicar no Gerenciador de Extensões?
O arquivo GMS (.gms) é o container bruto do código VBA, enquanto a publicação no Gerenciador cria um pacote instalável (.ccx) com metadados, ícones, versionamento e assinatura digital, permitindo instalação com um clique e atualizações automáticas pelo usuário final.
Preciso de certificado digital para publicar minha extensão?
Para distribuição privada ou testes locais, não é obrigatório. Porém, para publicar na loja oficial do CorelDRAW ou evitar avisos de segurança 'editor desconhecido' nos computadores dos clientes, um certificado de assinatura de código (Code Signing Certificate) válido é indispensável.
Como definir ícones personalizados para minha macro no painel de extensões?
No arquivo manifest.xml do pacote, você deve referenciar arquivos de imagem (PNG transparente, 24x24 ou 32x32 pixels) nas tags
Posso atualizar uma extensão já instalada nos computadores dos clientes?
Sim. Basta incrementar o número da versão no manifest.xml (ex: 1.0.0 para 1.0.1) e gerar novo pacote .ccx. O Gerenciador de Extensões detecta a versão mais recente e notifica o usuário para atualizar com um clique, preservando configurações locais.
Minha macro usa referências externas (DLLs, arquivos INI). Como incluo no pacote?
Adicione os arquivos dependentes na estrutura de pastas do pacote (ex: /bin ou /resources) e use caminhos relativos no código VBA via `ThisMacro.Path`. No manifest, declare esses arquivos na seção
Como testar a instalação antes de entregar ao cliente final?
Use uma máquina virtual ou perfil de usuário limpo do Windows. Instale o .ccx clicando duas vezes, verifique se aparece no Gerenciador, se os botões funcionam, se menus aparecem e se não há erros de referência. Teste também desinstalação e reinstalação.