IRONSOFTWAREHOME

Criando um Instalador MSI em C# com IronBarcode

Curtis Chau
Curtis Chau
Updated: 4 de junho de 2026

Para criar um instalador MSI com o IronBarcode, adicione um Projeto de Instalação à sua solução, inclua os DLLs necessários (onnxruntime.dll, IronBarcodeInterop.dll e ReaderInterop.dll), e crie o projeto para gerar um pacote MSI distribuível.

Um MSI (Microsoft Installer) é um pacote de instalação do Windows que facilita a instalação, atualizações e remoção de software. Usar um MSI fornece um método padronizado para instalar aplicativos, o que é especialmente benéfico para implantações empresariais. O formato MSI suporta recursos avançados, como capacidade de reversão, pontos de instalação administrativa e integração com o serviço do Windows Installer.

IronBarcode oferece ferramentas para integrar de forma homogênea com sua aplicação existente e convertê-la em um MSI para fácil distribuição. Ele garante uma instalação confiável em vários ambientes e permite que os desenvolvedores selecionem quais componentes incluir ou excluir. A biblioteca suporta múltiplos formatos de código de barras, tornando-a versátil para várias aplicações de negócios.

Este tutorial demonstra como criar um arquivo MSI a partir de uma aplicação de código de barras de exemplo que aproveita as poderosas capacidades de escaneamento do IronBarcode.

Início Rápido: Gerar e Ler um Código de Barras MSI em um Clique

Use a API simples do IronBarcode para criar e ler códigos de barras MSI com configuração mínima. O trecho abaixo mostra como é fácil escrever uma imagem de código de barras MSI e depois lê-la de volta—tudo em apenas algumas linhas.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Copie e execute este trecho de código.

    var msiImg = IronBarCode.BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI).SaveAsImage("msi.png");
    var results = IronBarCode.BarcodeReader.Read("msi.png", new BarcodeReaderOptions { ExpectBarcodeTypes = BarcodeEncoding.MSI });
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronBarcode em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Quais são os pré-requisitos para começar?

Antes de iniciar o projeto, por favor baixe a extensão Microsoft Visual Studio Installer Projects para que a construção do MSI funcione. Além disso, certifique-se de ter instalado o IronBarcode via NuGet em seu projeto.

Por Que a Extensão Visual Studio Installer Projects É Necessária?

A extensão fornece o modelo de Projeto de Configuração necessário para criar instaladores MSI no Visual Studio 2022. Esta extensão adiciona modelos de projetos de implantação que foram removidos do Visual Studio após a versão 2010, permitindo que os desenvolvedores criem pacotes tradicionais do Windows Installer.

Qual Versão do .NET Framework Devo Destinar?

Use o Windows Forms App (.NET Framework) para a máxima compatibilidade com cenários de implantação MSI. Embora o IronBarcode suporte várias plataformas .NET, a versão do .NET Framework garante a mais ampla compatibilidade com sistemas Windows onde instaladores MSI são tipicamente implantados.

Como Crio o Projeto Inicial do Instalador MSI?

Para este exemplo, use um projeto Windows Forms App (.NET Framework) para demonstrar sua funcionalidade. Esta abordagem fornece um paradigma de interface gráfica familiar para aplicativos de escaneamento de código de barras para desktop.

Qual Tipo de Projeto Funciona Melhor para Instaladores MSI?

Aplicativos Windows Forms oferecem o caminho mais direto para criar aplicativos de escaneamento de código de barras implantados por MSI. Eles oferecem integração nativa com o Windows e não requerem dependências adicionais de tempo de execução além do .NET Framework.

Quais São os Componentes Principais do Aplicativo de Demonstração?

O aplicativo consiste em um formulário com um botão que abre um diálogo de arquivo para escanear códigos de barras de imagens. Esta interface simples demonstra a funcionalidade principal enquanto mantém a complexidade da implantação mínima. Para cenários mais avançados, considere explorar leitura de códigos de barras em PDFs ou implementar leitura de códigos de barras assíncrona.

Como Adiciono um Botão ao Formulário do Windows?

  • Navegue para o ToolBox
  • Pesquise por Button
  • Adicione o botão arrastando e soltando no formulário do Windows

Caixa de ferramentas do Visual Studio mostrando o controle Button destacado na seção All Windows Forms para adicionar ao formulário

Onde Posso Encontrar o Controle de Botão?

O controle Button está localizado na seção Common Controls da caixa de ferramentas do Visual Studio. Se a caixa de ferramentas não estiver visível, abra-a de View > Toolbox ou pressione Ctrl+Alt+X.

Como Devo Posicionar o Botão no Formulário?

Centralize o botão no formulário ou posicione-o onde os usuários esperam naturalmente encontrar a ação principal. Considere seguir as diretrizes de interface do Windows para uma experiência de usuário consistente em aplicações.

Como Edito o Código do Botão para Lidar com Escaneamento de Código de Barras?

Dê um duplo clique no componente do botão para acessar o código C# do formulário. Abaixo está a lógica para o componente de formulário—ele recebe um código de barras e tenta escaneá-lo. Este código escaneia apenas imagens e não funciona para PDFs. Use o método ReadPdf para documentos PDF. Para opções abrangentes de leitura de códigos de barras, consulte a documentação de configurações do leitor de códigos de barras.

using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Drawing;
using System.Windows.Forms;

namespace MsiInstallerSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.All;
            IronSoftware.Logger.LogFilePath = "Default.log";

            IronBarCode.License.LicenseKey = "IRONBARCODE-MYLICENSE-KEY-1EF01";

            using (OpenFileDialog openFileDialog = new OpenFileDialog())
            {
                openFileDialog.Filter = "Image files (All files (*.*)|*.*";

                if (openFileDialog.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        // Load the selected image
                        using (Bitmap bmp = new Bitmap(openFileDialog.FileName))
                        {
                            // Process the image
                            AnyBitmap anyBitmap = AnyBitmap.FromBitmap(bmp);

                            // Configure barcode reader options (customize as needed)
                            var option = new BarcodeReaderOptions
                            {
                                Speed = ReadingSpeed.Detailed,
                                ExpectMultipleBarcodes = true,
                                ScanMode = BarcodeScanMode.Auto,
                            };

                            BarcodeResults result = IronBarCode.BarcodeReader.Read(anyBitmap, option);

                            if (result.Count > 0)
                            {
                                string output = string.Empty;
                                foreach(var barcode in result)
                                {
                                    Console.WriteLine($"Barcode Found: {barcode.Text}");
                                    output += barcode.Text + "\n";
                                }

                                MessageBox.Show($"Detected Barcodes: \n{output}");
                            }
                            else
                            {
                                MessageBox.Show("No Barcode found.");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show($"{ex.Message}");
                    }
                }
            }
        }
    }
}

Quais são os componentes chave da lógica de leitura de código de barras?

O código utiliza OpenFileDialog para selecionar imagens, configura BarcodeReaderOptions para escaneamento detalhado, e exibe resultados via MessageBox. As opções de velocidade de leitura podem ser ajustadas com base em seus requisitos de desempenho. A configuração ExpectMultipleBarcodes permite ler múltiplos códigos de barras de uma única imagem.

Como devo lidar com erros em produção?

Inclua registros de erro apropriados e mensagens de erro amigáveis ao usuário em vez de exibir detalhes brutos de exceção. Considere implementar uma lógica de nova tentativa para cenários de código de barras não reconhecido e forneça orientações aos usuários sobre os requisitos de qualidade de imagem.

Posso escanear documentos PDF com este código?

Para documentos PDF, substitua o método BarcodeReader.Read por BarcodeReader.ReadPdf para lidar corretamente com a extração de códigos de barras de PDF. Você também pode explorar as configurações específicas de leitor de código de barras para PDF para desempenho otimizado.

Aqui está um exemplo de como modificar o código para suporte a PDF:

// For PDF documents, use ReadPdf method
if (Path.GetExtension(openFileDialog.FileName).ToLower() == ".pdf")
{
    var pdfOption = new PdfBarcodeReaderOptions
    {
        Speed = ReadingSpeed.Detailed,
        ExpectMultipleBarcodes = true,
    };
    var pdfResults = BarcodeReader.ReadPdf(openFileDialog.FileName, pdfOption);
    // Process PDF results similar to image results
}
C#

Como adiciono um projeto de instalação para criar o MSI?

Após configurar o formulário e sua lógica de controlador, adicione um projeto de instalação à solução existente para criar um instalador MSI. O projeto de instalação permite que você crie um instalador para o aplicativo que acabou de criar. Esse processo empacota todos os componentes necessários, incluindo dependências do IronBarcode, em uma única unidade implantável.

Clique com o botão direito do mouse na solução e depois vá para Adicionar > Novo Projeto...

Menu de contexto do Explorador de Soluções do Visual Studio mostrando opções Add > New Project para criar projetos de instalação

Para o instalador MSI, compile novamente o projeto MsiInstallerSample no modo Release.
Clique com o botão direito do mouse no projeto de instalação e depois vá para Adicionar > Saída do Projeto...

Diálogo de grupo de saída do projeto Add Project do Visual Studio mostrando opções de implantação para SetupProject com o Explorador de Soluções visível

Para garantir que o instalador MSI funcione sem problemas, você deve incluir os seguintes três arquivos no seu projeto de instalação: onnxruntime.dll, IronBarcodeInterop.dll e ReaderInterop.dll. Esses arquivos são gerados quando você compila o projeto no modo Release:

  • onnxruntime.dll: Localizado em MsiInstallerSample\MsiInstallerSample\bin\Release
  • IronBarcodeInterop.dll: Localizado em MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
  • ReaderInterop.dll: Localizado em MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native

Diálogo de arquivo do Visual Studio selecionando ReaderInterop.dll para adicionar ao projeto de instalação com o Explorador de Soluções mostrando dependências

Se algum desses arquivos estiver faltando, você poderá enfrentar a seguinte mensagem de exceção, conforme observado neste artigo de solução de problemas: Falta de DLLs ao Criar Instalador MSI

Por fim, compile o projeto de instalação. O instalador estará localizado em: MsiInstallerSample\SetupProject\Release

Por que essas DLLs específicas são necessárias?

IronBarcode depende dessas bibliotecas nativas para capacidades de detecção e processamento de código de barras baseadas em ML. O onnxruntime.dll fornece o runtime de aprendizado de máquina, enquanto IronBarcodeInterop.dll e ReaderInterop.dll tratam das operações nativas de processamento de códigos de barras. Esses componentes permitem recursos avançados como correção de imagem e tolerância a falhas.

O que acontece se eu esquecer de incluir essas DLLs?

A falta de DLLs causará exceções de runtime quando os usuários tentarem escanear códigos de barras após a instalação. O aplicativo pode falhar ao inicializar o IronBarcode corretamente, resultando em erros FileNotFoundException ou DllNotFoundException.

Como configuro as configurações de saída do projeto?

Selecione "Saída primária" ao adicionar saída de projeto para incluir o executável principal e suas dependências gerenciadas. Isso garante que todos os assemblies .NET sejam incluídos, mas lembre-se de adicionar manualmente as DLLs nativas mencionadas acima.

Como executo e testo o instalador MSI?

Instale o aplicativo com o arquivo MSI para garantir que tudo funcione sem problemas. Os testes devem cobrir tanto cenários de instalação quanto de desinstalação para verificar a implantação correta.

Visual Studio mostrando compilação do instalador concluída com pasta de liberação contendo setup.exe e arquivos do instalador

O que devo verificar durante os testes?

Verifique se o aplicativo é lançado corretamente, pode abrir diálogos de arquivos e escaneia com sucesso códigos de barras de imagens de teste. Teste com vários formatos de código de barras suportados para garantir funcionalidade abrangente. Também verifique se a aplicação de chave de licença funciona corretamente no ambiente implantado.

Como posso solucionar problemas de instalação?

Habilite o registro do Windows Installer para capturar informações detalhadas sobre quaisquer falhas de instalação ou componentes ausentes. Verifique o Visualizador de Eventos do Windows para detalhes adicionais de erro e consulte os guias de solução de problemas para questões comuns de implantação.

Onde Posso Baixar o Projeto de Exemplo Completo?

Você pode baixar o código completo para este guia. Ele vem como um arquivo zipado que você pode abrir no Visual Studio como um projeto WinFormApp. O exemplo inclui todas as configurações necessárias e demonstra as melhores práticas para implantação MSI.

Baixe o Projeto WinForm MSI App

O que está incluído no projeto de exemplo?

O download contém uma solução completa do Visual Studio com o aplicativo Windows Forms e Projeto de Configuração configurado. Inclui imagens de código de barras de exemplo para teste e demonstra a configuração adequada de chave de licença para cenários de implantação.

Como Abro o Projeto Baixado?

Extraia o arquivo ZIP e abra o arquivo .sln no Visual Studio 2022 com a extensão de Projetos de Instalador instalada. Certifique-se de ter a versão mais recente do IronBarcode instalada via NuGet Package Manager. Para instruções de configuração mais detalhadas, consulte a documentação da API.

Perguntas frequentes

Quais arquivos DLL são necessários ao criar um instalador MSI com um aplicativo de código de barras?

Ao criar um instalador MSI com o IronBarCode, você precisa incluir três arquivos DLL essenciais: onnxruntime.dll, IronBarcodeInterop.dll e ReaderInterop.dll. Esses arquivos garantem que o IronBarCode funcione corretamente quando seu aplicativo for implantado por meio do pacote MSI.

Quais são os pré-requisitos necessários antes de criar um instalador MSI para meu aplicativo de código de barras?

Antes de criar um instalador MSI com o IronBarCode, você precisa baixar e instalar a extensão Microsoft Visual Studio Installer Projects para o Visual Studio 2022. Além disso, certifique-se de que o IronBarCode esteja instalado em seu projeto por meio do gerenciador de pacotes NuGet.

Como posso gerar e ler códigos de barras MSI rapidamente em C#?

O IronBarCode fornece uma API simples para gerar e ler códigos de barras MSI. Você pode criar um código de barras MSI usando `BarcodeWriter.CreateBarcode()` com o tipo de codificação MSI, salvá-lo como uma imagem e, em seguida, lê-lo novamente usando `BarcodeReader.Read()` com `BarcodeEncoding.MSI` especificado nas opções do leitor.

Quais são as vantagens de usar instaladores MSI para distribuir aplicativos de código de barras?

Os instaladores MSI oferecem métodos de instalação padronizados, ideais para implantações corporativas. Quando combinados com o IronBarCode, eles oferecem recursos de reversão, pontos de instalação administrativos, integração com o serviço Windows Installer e garantem uma instalação confiável em diversos ambientes, permitindo que os desenvolvedores selecionem quais componentes incluir.

A biblioteca de código de barras suporta múltiplos formatos de código de barras em pacotes MSI?

Sim, o IronBarCode suporta vários formatos de código de barras, tornando-o versátil para diversas aplicações comerciais. Essa flexibilidade permite que os desenvolvedores integrem diferentes tipos de código de barras em seus aplicativos empacotados em MSI, com base em requisitos comerciais específicos.

What are the critical components required for creating an MSI installer with IronBarcode?

Key components include adding a Setup Project, including `onnxruntime.dll`, `IronBarcodeInterop.dll`, and `ReaderInterop.dll`, and configuring project output settings to include these necessary files.

Can I use IronBarcode to scan PDF documents?

Yes, IronBarcode can be used to scan PDF documents by using the `BarcodeReader.ReadPdf` method, which is specifically designed for handling PDF barcode extraction.

How should I test my MSI installer?

Test the MSI installer by verifying installation and uninstallation processes, ensuring the application launches correctly, file dialogs open as expected, and barcode scanning works across different formats.

What should I do if I encounter a missing DLL error?

Ensure that the `onnxruntime.dll`, `IronBarcodeInterop.dll`, and `ReaderInterop.dll` files are correctly included in your setup project, as missing these can cause runtime exceptions. Refer to the troubleshooting guide on missing DLLs for more assistance.

Where can I find the complete sample project for creating an MSI installer?

You can download the complete sample project, which includes all necessary configurations and sample barcode images for testing, from the IronBarcode website.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 2,422,100Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronBarCode".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

  1. Baixe e descompacte o IronBarCode em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronBarCode.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.