Création d'un installateur C# ; MSI avec IronBarcode

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

Pour créer un programme d'installation MSI avec IronBarCode, ajoutez un projet d'installation à votre solution, incluez les DLL requises (onnxruntime.dll, IronBarcodeInterop.dll, et ReaderInterop.dll), et construisez le projet pour générer un package MSI distribuable.

Un MSI (Microsoft Installer) est un paquet d'installation Windows qui facilite l'installation, la mise à jour et la suppression des logiciels. L'utilisation d'un MSI offre une méthode standardisée d'installation des applications, ce qui est particulièrement avantageux pour les déploiements en entreprise. Le format MSI prend en charge des fonctionnalités avancées telles que les capacités de retour en arrière, les points d'installation administratifs et l'intégration du service Windows Installer.

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. La bibliothèque prend en charge de multiples formats de codes-barres, ce qui la rend polyvalente pour diverses applications commerciales.

Ce tutoriel montre comment créer un fichier MSI à partir d'un exemple d'application de codes-barres qui exploite les puissantes capacités de numérisation d'IronBarcode.

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 une configuration minimale. L'extrait ci-dessous montre à quel point il est facile d'écrire une image de code-barres MSI, puis de la lire en retour, le tout en quelques lignes seulement.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronBarcode avec le gestionnaire de packages NuGet

    PM > Install-Package BarCode

  2. Copiez et exécutez cet extrait de code.

    var msiImg = IronBarCode.BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI).SaveAsImage("msi.png");
    var results = IronBarCode.BarcodeReader.Read("msi.png", new BarcodeReaderOptions { ExpectBarcodeTypes = BarcodeEncoding.MSI });
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronBarcode dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

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

Première étape :
green arrow pointer

Quels sont les prérequis dont j'ai besoin avant de commencer ? Avant de commencer le projet, veuillez télécharger l'extension [Microsoft Visual Studio Installer Projects extension] ( https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2022InstallerProjects En outre, assurez-vous d'avoir installé IronBarcode via NuGet dans votre projet.

Pourquoi l'extension Visual Studio Installer Projects est-elle nécessaire ? L'extension fournit le modèle de projet d'installation nécessaire à la création d'installateurs MSI dans Visual Studio 2022. Cette extension ajoute des modèles de projets de déploiement qui ont été supprimés de Visual Studio après la version 2010, permettant aux développeurs de créer des packages Windows Installer traditionnels. ### Quelle version de .NET Framework dois-je viser? Utilisez Windows Forms App (.NET Framework) pour une compatibilité maximale avec les scénarios de déploiement MSI. Bien qu'IronBarcCode prenne en charge [diverses plateformes .NET](https://ironsoftware.com/csharp/barcode/features/compatibility/), la version .NET Framework garantit la plus large compatibilité avec les systèmes Windows où les installateurs MSI sont généralement déployés. ## Comment créer le projet d'installation MSI initial? Pour cet exemple, utilisez un projet Windows Forms App (.NET Framework) pour démontrer ses fonctionnalités. Cette approche fournit un paradigme d'interface utilisateur familier pour les applications de lecture de codes-barres de bureau.

Quel type de projet convient le mieux aux installateurs MSI ? Les applications Windows Forms constituent le chemin le plus direct pour créer des applications de lecture de codes-barres déployées par MSI. Ils offrent une intégration native à Windows et ne nécessitent pas de dépendances d'exécution supplémentaires au-delà du .NET Framework.

Quels sont les éléments clés de l'application de démonstration ? L'application consiste en un formulaire avec un bouton qui ouvre une boîte de dialogue de fichier pour numériser des codes-barres à partir d'images. Cette interface simple démontre les fonctionnalités de base tout en minimisant la complexité du déploiement. Pour des scénarios plus avancés, envisagez d'explorer [la lecture de codes-barres à partir de PDF](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-pdf/) ou de mettre en œuvre [la lecture de codes-barres Async](https://ironsoftware.com/csharp/barcode/how-to/async-multithread/). ## Comment ajouter un bouton au formulaire Windows? - Accédez à la boîte à outils - Recherchez le bouton - Ajoutez le bouton en le glissant-déposant sur le formulaire Windows [Boîte à outils Visual Studio montrant le contrôle Button mis en évidence dans la section All Windows Forms pour l'ajouter au formulaire](/static-assets/barcode/how-to/msi-installer/add-button.webp) ### Où puis-je trouver le contrôle de bouton ? Le contrôle Button se trouve dans la section Common Controls de la boîte à outils de Visual Studio. Si la boîte à outils n'est pas visible, ouvrez-la à partir de Affichage > Boîte à outils ou appuyez sur Ctrl+Alt+X. ### Comment dois-je positionner le bouton sur le formulaire? Centrez le bouton sur le formulaire ou placez-le là où les utilisateurs s'attendent naturellement à trouver l'action principale. Pensez à suivre les lignes directrices de l'interface utilisateur de Windows pour une expérience utilisateur cohérente dans toutes les applications. ## Comment modifier le code du bouton pour gérer la lecture des codes-barres? Double-cliquez sur le composant bouton pour accéder au code C# du formulaire. Vous trouverez ci-dessous la logique du composant de formulaire - il prend en charge un code-barres et tente de le scanner. Ce code ne numérise que les images et ne fonctionne pas pour les PDF. Utilisez la méthode `ReadPdf` pour les documents PDF. Pour des options complètes de lecture de codes-barres, consultez la [documentation sur les paramètres du lecteur de codes-barres](https://ironsoftware.com/csharp/barcode/examples/barcode-reader-settings-csharp/). ```cs 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}"); } } } } } } ``` ### Quels sont les composants clés de la logique de lecture des BarCodes ? Le code utilise `OpenFileDialog` pour sélectionner des images, configure `BarcodeReaderOptions` pour un balayage détaillé et affiche les résultats via `MessageBox`. Les [options de vitesse de lecture](https://ironsoftware.com/csharp/barcode/how-to/reading-speed-options/) peuvent être ajustées en fonction de vos exigences en matière de performances. Le paramètre `ExpectMultipleBarcodes` permet [la lecture de plusieurs codes-barres](https://ironsoftware.com/csharp/barcode/how-to/read-multiple-barcodes/) à partir d'une seule image. ### Comment gérer les erreurs en production? Il convient d'inclure une journalisation appropriée des erreurs et des messages d'erreur conviviaux plutôt que d'afficher les détails bruts de l'exception. Envisagez de mettre en œuvre une logique de réessai pour les scénarios [code-barres non reconnu](https://ironsoftware.com/csharp/barcode/troubleshooting/barcode-not-recognized/) et de fournir des conseils aux utilisateurs sur les exigences en matière de qualité d'image. ### Puis-je numériser des documents PDF avec ce code? Pour les documents PDF, remplacez la méthode `BarcodeReader.Read` par `BarcodeReader.ReadPdf` afin de gérer correctement l'extraction des codes-barres PDF. Vous pouvez également explorer [les paramètres du lecteur de codes-barres spécifiques au PDF](https://ironsoftware.com/csharp/barcode/examples/pdf-barcode-reader-settings-csharp/) pour des performances optimisées. Voici un exemple de modification du code pour la prise en charge des PDF : ```cs // For PDF documents, use ReadPdf method if (Path.GetExtension(openFileDialog.FileName).ToLower() == ".pdf") { var pdfResults = BarcodeReader.ReadPdf(openFileDialog.FileName, option); // Process PDF results similar to image results } ``` ## Comment ajouter un projet d'installation pour créer le MSI? Après avoir configuré le formulaire et sa logique de contrôle, ajoutez un projet d'installation à la solution existante pour créer un programme d'installation MSI. Le projet d'installation vous permet de créer un programme d'installation pour l'application que vous venez de créer. Ce processus regroupe tous les composants nécessaires, y compris les dépendances d'IronBarcode, en une seule unité déployable. Cliquez droit sur la solution, puis allez à **Ajouter** > **Nouveau projet...** [Menu contextuel de Visual Studio Solution Explorer affichant les options Ajouter > Nouveau projet pour créer des projets d'installation](/static-assets/barcode/how-to/msi-installer/add-setup-project.webp) 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...** [Visual Studio Add Project Output Group dialog montrant les options de déploiement pour SetupProject avec l'explorateur de solutions visible](/static-assets/barcode/how-to/msi-installer/add-project-output.webp) 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` [Dialogue de fichier Visual Studio sélectionnant ReaderInterop.dll à ajouter au projet d'installation avec Solution Explorer montrant les dépendances](/static-assets/barcode/how-to/msi-installer/add-additional-dll.webp) Si l'un de ces fichiers est manquant, vous pouvez rencontrer le message d'exception suivant, comme indiqué dans cet article de dépannage : [DLL manquantes dans la création du programme d'installation MSI](https://ironsoftware.com/csharp/barcode/troubleshooting/missing-dll-msi-installer/) Enfin, construisez le projet d'installation. Le programme d'installation sera situé à l'adresse suivante `MsiInstallerSample\SetupProject\Release`

Pourquoi ces DLL spécifiques sont-elles nécessaires ? IronBarcode dépend de ces bibliothèques natives pour les capacités de détection et de traitement des codes-barres basées sur le ML. Le fichier onnxruntime.dll fournit le runtime d'apprentissage automatique, tandis que les fichiers IronBarcodeInterop.dll et ReaderInterop.dll gèrent les opérations natives de traitement des codes-barres. Ces composants permettent des fonctionnalités avancées telles que [la correction d'image](https://ironsoftware.com/csharp/barcode/how-to/image-correction/) et [la tolérance aux défauts](https://ironsoftware.com/csharp/barcode/features/fault-tolerance/). ### Que se passe-t-il si j'oublie d'inclure ces DLL? Les DLL manquantes provoqueront des exceptions d'exécution lorsque les utilisateurs tenteront de scanner des codes-barres après l'installation. L'application peut ne pas réussir à initialiser correctement IronBarcode, ce qui entraîne des erreurs FileNotFoundException ou DllNotFoundException. ### Comment configurer les paramètres de sortie du projet ? Sélectionnez "Primary output" lors de l'ajout de la sortie du projet pour inclure l'exécutable principal et ses dépendances gérées. Cela permet de s'assurer que tous les assemblages .NET sont inclus, mais n'oubliez pas d'ajouter manuellement les DLL natives mentionnées ci-dessus. ## Comment exécuter et tester le programme d'installation MSI? Installez l'application à l'aide du fichier MSI pour vous assurer que tout fonctionne correctement. Les tests doivent couvrir les scénarios d'installation et de désinstallation afin de vérifier le bon déploiement. [Visual Studio montrant l'installation terminée avec le dossier Release contenant setup.exe et les fichiers d'installation](/static-assets/barcode/how-to/msi-installer/demonstration.gif)

Qu'est-ce que je dois vérifier pendant les tests ? Vérifiez que l'application se lance correctement, qu'elle peut ouvrir des boîtes de dialogue de fichiers et qu'elle scanne avec succès des codes-barres à partir d'images de test. Testez avec divers [formats de codes-barres pris en charge](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-formats/) pour garantir une fonctionnalité complète. Vérifiez également que l'application [clé de licence](https://ironsoftware.com/csharp/barcode/troubleshooting/apply-a-license-key-in-ironbarcode/) fonctionne correctement dans l'environnement déployé. ### Comment résoudre les problèmes d'installation? Activer la journalisation de Windows Installer pour capturer des informations détaillées sur les échecs d'installation ou les composants manquants. Consultez l'observateur d'événements Windows pour obtenir des détails supplémentaires sur les erreurs et consultez les [guides de dépannage](https://ironsoftware.com/csharp/barcode/troubleshooting/) pour les problèmes de déploiement courants.

Où puis-je télécharger l'exemple de projet complet ? 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. L'exemple inclut toute la configuration nécessaire et démontre les meilleures pratiques pour le déploiement MSI. [Télécharger le projet d'application WinForm MSI](/static-assets/barcode/how-to/msi-installer/MsiInstallerSample.zip) ### Qu'est-ce qui est inclus dans l'exemple de projet? Le téléchargement contient une solution Visual Studio complète avec l'application Windows Forms et le projet d'installation configuré. Elle inclut des exemples d'images de codes-barres pour les tests et démontre la bonne [configuration de la clé de licence](https://ironsoftware.com/csharp/barcode/get-started/license-keys/) pour les scénarios de déploiement. ### Comment ouvrir le projet téléchargé? Extrayez le fichier ZIP et ouvrez le fichier `.sln` dans Visual Studio 2022 avec l'extension Installer Projects installée. Assurez-vous d'avoir installé la dernière version d'IronBarcode via le gestionnaire de paquets NuGet. Pour des instructions de configuration plus détaillées, consultez la [documentation de l'interface utilisateur](https://ironsoftware.com/csharp/barcode/object-reference/api/).

Questions Fréquemment Posées

Quels sont les fichiers DLL nécessaires lors de la création d'un programme d'installation MSI avec une application de code-barres ?

Lorsque vous créez un programme d'installation MSI avec IronBarCode, vous devez inclure trois fichiers DLL essentiels : onnxruntime.dll, IronBarcodeInterop.dll et ReaderInterop.dll. Ces fichiers garantissent le bon fonctionnement d'IronBarcode lorsque votre application est déployée via le paquet MSI.

Quels sont les prérequis nécessaires avant de créer un programme d'installation MSI pour mon application BarCode ?

Avant de créer un programme d'installation MSI avec IronBarcode, vous devez télécharger et installer l'extension Microsoft Visual Studio Installer Projects pour Visual Studio 2022. En outre, assurez-vous qu'IronBarCode est installé dans votre projet via le gestionnaire de paquets NuGet.

Comment puis-je générer et lire rapidement des codes-barres MSI en C# ?

IronBarcode fournit une API simple pour générer et lire les codes-barres MSI. Vous pouvez créer un code-barres MSI en utilisant BarcodeWriter.CreateBarcode() avec le type d'encodage MSI, le sauvegarder en tant qu'image, puis le relire en utilisant BarcodeReader.Read() avec BarcodeEncoding.MSI spécifié dans les options du lecteur.

Quels sont les avantages de l'utilisation d'installateurs MSI pour la distribution d'applications BarCode ?

Les installateurs MSI offrent des méthodes d'installation standardisées, idéales pour les déploiements en entreprise. Associés à IronBarcode, ils offrent des fonctionnalités de retour en arrière, des points d'installation administratifs, l'intégration du service Windows Installer, et garantissent une installation fiable dans divers environnements tout en permettant aux développeurs de sélectionner les composants à inclure.

La bibliothèque BarCode prend-elle en charge plusieurs formats de codes-barres dans les paquets MSI ?

Oui, IronBarcode prend en charge plusieurs formats de codes-barres, ce qui le rend polyvalent pour diverses applications commerciales. Cette flexibilité permet aux développeurs d'intégrer différents types de codes-barres dans leurs applications packagées MSI en fonction d'exigences commerciales spécifiques.

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 2,002,059 | Version : 2025.12 vient de sortir