Creación de un instalador MSI de C# con IronBarCode

This article was translated from English: Does it need improvement?
Translated
View the article in English

Un MSI (Microsoft Installer) es un paquete de instalación de Windows que facilita la gestión de la instalación, actualización y eliminación de software. El uso de un MSI proporciona un método estandarizado para instalar aplicaciones, lo cual es especialmente beneficioso para despliegues a nivel empresarial.

IronBarcode ofrece herramientas para integrarse perfectamente con su aplicación existente y convertirla en un MSI para fácil distribución. Asegura una instalación confiable en diversos entornos y permite a los desarrolladores seleccionar qué componentes incluir o excluir.

Este tutorial demostrará brevemente cómo crear un archivo MSI a partir de una aplicación de código de barras de ejemplo.

Inicio rápido: Generar y leer un MSI de código de barras en un clic

Use la API simple de IronBarcode para crear y leer códigos de barras MSI con una configuración mínima. El fragmento a continuación muestra lo fácil que es escribir una imagen de código de barras MSI, luego leerla nuevamente, todo en un par de líneas.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronBarcode con el gestor de paquetes NuGet

    PM > Install-Package BarCode

  2. Copie y ejecute este fragmento 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 });
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronBarcode en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Comience a usar IronBarcode en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer

Prerrequisitos

Descargue la extensión de proyectos de instalador de Microsoft Visual Studio antes de comenzar el proyecto.

Crear un instalador MSI

Crear un instalador MSI

Añadir un botón

Agregar un botón

  • Busque Button
  • Añada el botón arrastrándolo al formulario de Windows. Agregar botón

Agregar botón

Editar el código del botón

A continuación se muestra la lógica del formulario; escanea un código de barras. Este código solo escanea imágenes y no funciona para PDF. Use el método ReadPdf para documentos PDF. ## Añadir un proyecto de instalación

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}");
                    }
                }
            }
        }
    }
}
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}");
                    }
                }
            }
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Agregar un proyecto de instalación

El proyecto de instalación nos permite crear un instalador para la aplicación que acabamos de crear. Haga clic derecho en la solución, luego vaya a Añadir > Nuevo Proyecto...

Agregar proyecto de instalación

Agregar Proyecto de Instalación

Para el instalador MSI, compile el proyecto MsiInstallerSample nuevamente en modo Release. Agregar salida de proyecto

Haga clic derecho en el proyecto de configuración, luego en Añadir > Salida de proyecto...

Para asegurar que el instalador MSI funcione sin problemas, debe incluir los siguientes tres archivos en su proyecto de configuración: onnxruntime.dll, IronBarcodeInterop.dll y ReaderInterop.dll. - onnxruntime.dll: Ubicado en MsiInstallerSample\MsiInstallerSample\bin\Release

  • IronBarcodeInterop.dll: Ubicado en MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
  • ReaderInterop.dll: Ubicado en MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native Agregar DLLs adicionales

Para que el instalador MSI funcione, incluya estos tres archivos: onnxruntime.dll, IronBarcodeInterop.dll y ReaderInterop.dll.

Si falta alguno de estos archivos, puede encontrar el siguiente mensaje de excepción, como se indica en este artículo de solución de problemas: DLLs faltantes en la creación de MSI Installer

El instalador estará ubicado en: MsiInstallerSample\SetupProject\Release ## Ejecutar y probar el instalador

Ejecute y pruebe el instalador

Demonstration related to Ejecute y pruebe el instalador

Demonstration related to Ejecute y pruebe el instalador

Descargar proyecto de muestra del instalador MSI

Descargar el Proyecto de Aplicación WinForm MSI

Descargar el proyecto de aplicación MSI de WinForm

Preguntas Frecuentes

¿Qué es IronBarCode?

IronBarCode es una biblioteca que permite a los desarrolladores leer, escribir y generar códigos de barras en aplicaciones .NET. Soporta una amplia gama de formatos de códigos de barras y está diseñado para una fácil integración.

¿Cómo puedo crear un instalador MSI con IronBarCode?

Para crear un instalador MSI con IronBarCode, necesita integrar la biblioteca de IronBarCode en su aplicación y seguir los procedimientos estándar para crear un instalador MSI utilizando herramientas como Visual Studio Installer Projects.

¿Cuáles son los beneficios de usar IronBarCode en un instalador MSI?

Integrar IronBarCode en un instalador MSI simplifica el proceso de despliegue de aplicaciones que requieren funcionalidad de códigos de barras, asegurando que todos los componentes necesarios se instalen correctamente en el sistema del usuario final.

¿Qué formatos de código de barras son compatibles con IronBarCode?

IronBarCode es compatible con una amplia gama de formatos de códigos de barras, incluidos códigos QR, UPC, EAN, Code 39, Code 128 y más, haciéndolo versátil para diversas necesidades de aplicación.

¿Es posible personalizar la apariencia de un código de barras con IronBarCode?

Sí, IronBarCode permite la personalización de la apariencia de los códigos de barras, incluyendo colores, tamaños y anotaciones de texto, para ajustarse a los requisitos de diseño específicos de su aplicación.

¿Necesito herramientas específicas para integrar IronBarCode en un instalador MSI?

Puede usar herramientas de desarrollo comunes como Visual Studio para integrar IronBarCode en su aplicación y crear un instalador MSI. La biblioteca de IronBarCode es compatible con .NET, lo que la hace accesible para desarrolladores que utilizan este marco.

¿Puede IronBarCode leer y escribir códigos de barras 2D?

Sí, IronBarCode puede leer y escribir tanto códigos de barras 1D como 2D, incluidos códigos QR, Data Matrix y otros, proporcionando funcionalidades completas de códigos de barras.

¿Cuáles son los requisitos del sistema para usar IronBarCode?

IronBarCode requiere un entorno de marco .NET para funcionar. Es compatible con .NET Core, .NET 5/6 y versiones anteriores, asegurando una amplia compatibilidad en diferentes proyectos.

¿Cómo empiezo con IronBarCode?

Para comenzar con IronBarCode, puede descargar la biblioteca desde el sitio web de Iron Software, revisar la documentación e integrarla en su proyecto .NET siguiendo los ejemplos y pautas proporcionados.

¿Está disponible el soporte técnico para usuarios de IronBarCode?

Sí, Iron Software proporciona soporte técnico para usuarios de IronBarCode, incluyendo documentación, tutoriales y opciones de soporte directo para asistir con problemas de integración y uso.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,979,979 | Version: 2025.11 recién lanzado