Creating a MSI Installer with IronBarCode

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

Un MSI (Microsoft Installer) est un package d'installation Windows qui facilite la gestion de l'installation, des mises à jour et de la suppression de logiciels. Utiliser un MSI fournit une méthode standardisée pour installer des applications, ce qui est particulièrement bénéfique pour les déploiements de niveau entreprise.

IronBarCode offre des outils pour s'intégrer parfaitement à votre application existante et la convertir en un MSI pour une distribution facile. Il assure une installation fiable dans divers environnements et permet aux développeurs de sélectionner quels composants inclure ou exclure.

Ce tutoriel démontrera brièvement comment créer un fichier MSI à partir d'une application de code-barres exemple.

en-tête:2(Démarrage rapide : Générer et lire un code à barres MSI en un clic)

Utilisez l'API simple d'IronBarcode pour créer et lire des codes à barres MSI avec un minimum de configuration. Le code ci-dessous montre à quel point il est facile d'écrire une image de code-barres MSI, puis de la lire - tout cela en seulement quelques lignes.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. Copy and run this code snippet.

    var msiImg = IronBarCode.BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI).SaveAsImage("msi.png");
    var results = IronBarCode.BarcodeReader.Read("msi.png", new BarcodeReaderOptions { ExpectBarcodeTypes = BarcodeEncoding.MSI });
  3. Deploy to test on your live environment

    Start using IronBarcode in your project today with a free trial
    arrow pointer

Commencez à utiliser IronBarcode dans votre projet aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Prérequis

Avant de commencer le projet, veuillez télécharger l'extension Projects pour Microsoft Visual Studio Installer pour que la création MSI fonctionne. https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2022InstallerProjects

Créer un installateur MSI

Nous utiliserons un projet d'application Windows Forms (.NET Framework) pour démontrer sa fonctionnalité pour cet exemple.

Ajouter un bouton

  • Accédez à la boîte à outils
  • Recherchez le bouton
  • Ajoutez le bouton en le faisant glisser et relâcher sur le formulaire Windows.

Ajouter un bouton

Modifier le code du bouton

Double-cliquez sur le composant bouton pour accéder au code C# du formulaire. Voici la logique pour le composant de formulaire, elle prend un code-barres et tente de le scanner. Ce code ne scanne que l'image et ne fonctionne pas pour les PDF. Utilisez la méthode ReadPdf pour le document PDF.

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

Ajout d'un projet d'installation

Après avoir configuré le formulaire et sa logique de contrôleur, nous devons ajouter un projet d'installation à la solution existante pour créer un installateur MSI. Le projet d'installation nous permet de créer un installateur pour l'application que nous venons de créer.

Cliquez droit sur la solution, puis allez à Ajouter > Nouveau projet...

Ajouter un projet d'installation

Pour l'installateur MSI, construisez à nouveau le projet MsiInstallerSample en mode Release. Cliquez droit sur le projet d'installation, puis allez à Ajouter > Sortie du projet...

Ajouter une sortie de projet

Pour garantir le bon fonctionnement de l'installateur MSI, vous devez inclure les trois fichiers suivants dans votre projet d'installation : onnxruntime.dll, IronBarcodeInterop.dll et ReaderInterop.dll. Ces fichiers sont générés lorsque vous construisez le projet en mode Release :

  • onnxruntime.dll : Situé à MsiInstallerSample\MsiInstallerSample\bin\Release
  • IronBarcodeInterop.dll : Situé à MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
  • ReaderInterop.dll : Situé à MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native

Ajouter des DLL supplémentaires

Si l'un de ces fichiers manque, vous pouvez rencontrer le message d'exception suivant, comme noté dans cet article sur le dépannage : DLL manquantes dans la création de l'installateur MSI

Enfin, construisez le projet d'installation. L'installateur sera situé à : MsiInstallerSample\SetupProject\Release

Exécuter et tester l'installateur

Nous installons l'application avec le fichier MSI pour nous assurer que tout fonctionne correctement.

Demonstration related to Exécuter et tester l'installateur

Télécharger le projet d'installation MSI Exemple

Vous pouvez télécharger le code complet de ce guide. Il est disponible en fichier compressé que vous pouvez ouvrir dans Visual Studio en tant que projet WinFormApp.

Télécharger le projet d'application WinForm MSI

Questions Fréquemment Posées

Qu'est-ce qu'IronBarCode?

IronBarCode est une bibliothèque qui permet aux développeurs de lire, écrire et générer des codes-barres dans des applications .NET. Elle supporte une large gamme de formats de codes-barres et est conçue pour une intégration aisée.

Comment puis-je créer un installateur MSI avec IronBarCode?

Pour créer un installateur MSI avec IronBarCode, vous devez intégrer la bibliothèque IronBarCode dans votre application et suivre les procédures standards pour créer un installateur MSI en utilisant des outils comme Visual Studio Installer Projects.

Quels sont les avantages d'utiliser IronBarCode dans un installateur MSI?

Intégrer IronBarCode dans un installateur MSI simplifie le processus de déploiement des applications nécessitant des fonctionnalités de code-barres, en s'assurant que tous les composants nécessaires sont installés correctement sur le système de l'utilisateur final.

Quels formats de codes-barres sont supportés par IronBarCode?

IronBarCode supporte une large gamme de formats de codes-barres, y compris les QR codes, UPC, EAN, Code 39, Code 128, et plus encore, ce qui le rend polyvalent pour divers besoins d'application.

Est-il possible de personnaliser l'apparence des codes-barres avec IronBarCode?

Oui, IronBarCode permet la personnalisation de l'apparence des codes-barres, y compris les couleurs, tailles et annotations textuelles, pour répondre aux exigences de conception spécifiques de votre application.

Ai-je besoin d'outils spécifiques pour intégrer IronBarCode dans un installateur MSI?

Vous pouvez utiliser des outils de développement communs tels que Visual Studio pour intégrer IronBarCode dans votre application et créer un installateur MSI. La bibliothèque IronBarCode est compatible avec .NET, la rendant accessible aux développeurs utilisant ce framework.

IronBarCode peut-il lire et écrire des codes-barres 2D?

Oui, IronBarCode peut lire et écrire des codes-barres 1D et 2D, y compris les QR codes, Data Matrix, et d'autres, fournissant des fonctionnalités de codes-barres complètes.

Quels sont les prérequis système pour utiliser IronBarCode?

IronBarCode nécessite un environnement de framework .NET pour fonctionner. Il est compatible avec .NET Core, .NET 5/6, et les versions antérieures, assurant une large compatibilité à travers divers projets.

Comment commencer à utiliser IronBarCode?

Pour commencer avec IronBarCode, vous pouvez télécharger la bibliothèque depuis le site Web d'Iron Software, consulter la documentation, et l'intégrer dans votre projet .NET en suivant les exemples et les directives fournis.

Un support technique est-il disponible pour les utilisateurs d'IronBarCode?

Oui, Iron Software fournit un support technique pour les utilisateurs d'IronBarCode, y compris des documentations, des tutoriels, et des options de support direct pour aider à l'intégration et aux problèmes d'utilisation.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 1,935,276 | Version : 2025.11 vient de sortir