Creating a MSI Installer with IronBarCode

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

Ein MSI (Microsoft Installer) ist ein Windows-Installationspaket, das die Verwaltung von Softwareinstallation, Updates und Deinstallation erleichtert. Die Verwendung eines MSI bietet eine standardisierte Methode zur Installation von Anwendungen, was besonders für Unternehmensbereitstellungen von Vorteil ist.

IronBarCode bietet Tools zur nahtlosen Integration in Ihre vorhandene Anwendung und deren Umwandlung in ein MSI für einfache Verteilung. Es gewährleistet eine zuverlässige Installation in verschiedenen Umgebungen und ermöglicht es Entwicklern, auszuwählen, welche Komponenten ein- oder ausgeschlossen werden sollen.

Dieses Tutorial wird kurz zeigen, wie man aus einer Beispiel-Barcode-Anwendung eine MSI-Datei erstellt.

Schnellstart: Ein MSI-Barcode in einem Klick generieren und lesen

Verwenden Sie die einfache API von IronBarcode, um sowohl MSI-Barcodes zu erstellen als auch zu lesen, mit minimalem Setup. Der folgende Codeabschnitt zeigt, wie einfach es ist, ein MSI-Barcode-Bild zu schreiben und es dann wieder auszulesen - alles in nur wenigen Zeilen.

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

Nutzen Sie IronBarcode heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer

Voraussetzungen

Bevor wir mit dem Projekt beginnen, laden Sie bitte die [Microsoft Visual Studio Installer Projects-Erweiterung] https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2022InstallerProjects) herunter, damit der MSI-Build funktioniert.

Einen MSI-Installer erstellen

Wir verwenden ein Windows-Forms-App-Projekt (.NET Framework), um seine Funktionalität für dieses Beispiel zu demonstrieren.

Einen Button hinzufügen

  • Navigieren Sie zur Werkzeugkiste
  • Suchen Sie nach Button
  • Fügen Sie den Button durch Ziehen und Ablegen in das Windows-Formular ein.

Button hinzufügen

Den Button-Code bearbeiten

Doppelklicken Sie auf die Schaltflächenkomponente, um auf den C#-Code des Formulars zuzugreifen. Unten ist die Logik für die Formular-Komponente, sie nimmt einen Barcode auf und versucht ihn zu scannen. Dieser Code scannt nur Bilder und funktioniert nicht für PDF. Verwenden Sie die Methode ReadPdf für PDF-Dokumente.

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

Ein Setup-Projekt hinzufügen

Nach dem Einrichten des Formulars und seiner Steuerungslogik müssen wir ein Setup-Projekt zur bestehenden Lösung hinzufügen, um einen MSI-Installer zu erstellen. Das Setup-Projekt ermöglicht uns den Bau eines Installers für die Anwendung, die wir gerade erstellt haben.

Rechtsklicken Sie auf die Lösung und gehen Sie zu Hinzufügen > Neues Projekt...

Setup-Projekt hinzufügen

Für den MSI-Installer bauen Sie das Projekt MsiInstallerSample erneut im Release-Modus. Rechtsklicken Sie auf das Setup-Projekt und gehen Sie zu Hinzufügen > Projektausgabe...

Projektausgabe hinzufügen

Um sicherzustellen, dass der MSI-Installer reibungslos läuft, müssen Sie die folgenden drei Dateien in Ihr Setup-Projekt einschließen: onnxruntime.dll, IronBarcodeInterop.dll und ReaderInterop.dll. Diese Dateien werden generiert, wenn Sie das Projekt im Release-Modus aufbauen:

  • onnxruntime.dll: befindet sich in MsiInstallerSample\MsiInstallerSample\bin\Release
  • IronBarcodeInterop.dll: befindet sich in MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
  • ReaderInterop.dll: befindet sich in MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native

Zusätzliche DLLs hinzufügen

Wenn eine dieser Dateien fehlt, können Sie die folgende Fehlermeldung erhalten, wie in diesem Troubleshooting-Artikel beschrieben: Fehlende DLLs beim Erstellen des MSI-Installers

Schließlich bauen Sie das Setup-Projekt auf. Der Installer befindet sich unter: MsiInstallerSample\SetupProject\Release

Den Installer ausführen & testen

Wir installieren die Anwendung mit der MSI-Datei, um sicherzustellen, dass alles reibungslos läuft.

Demonstration related to Den Installer ausführen & testen

Beispielprojekt für den MSI-Installer herunterladen

Sie können den vollständigen Code für dieses Handbuch herunterladen. Er wird als gezippte Datei geliefert, die Sie in Visual Studio als WinFormApp-Projekt öffnen können.

Laden Sie das WinForm MSI App-Projekt herunter

Häufig gestellte Fragen

Was ist IronBarCode?

IronBarCode ist eine Bibliothek, die es Entwicklern ermöglicht, Barcodes in .NET-Anwendungen zu lesen, zu schreiben und zu erzeugen. Es unterstützt eine breite Palette von Barcode-Formaten und ist für einfache Integration ausgelegt.

Wie kann ich einen MSI-Installer mit IronBarCode erstellen?

Um einen MSI-Installer mit IronBarCode zu erstellen, müssen Sie die IronBarCode-Bibliothek in Ihre Anwendung integrieren und den Standardverfahren zur Erstellung eines MSI-Installers mit Tools wie Visual Studio Installer Projects folgen.

Welche Vorteile bietet die Verwendung von IronBarCode in einem MSI-Installer?

Die Integration von IronBarCode in einen MSI-Installer vereinfacht den Bereitstellungsprozess von Anwendungen, die Barcode-Funktionalität erfordern, und stellt sicher, dass alle notwendigen Komponenten korrekt auf dem System des Endbenutzers installiert werden.

Welche Barcodeformate werden von IronBarCode unterstützt?

IronBarCode unterstützt eine breite Palette von Barcode-Formaten, darunter QR-Codes, UPC, EAN, Code 39, Code 128 und mehr, was es für verschiedene Anwendungsbedürfnisse vielseitig macht.

Ist es möglich, das Aussehen von Barcodes mit IronBarCode anzupassen?

Ja, IronBarCode ermöglicht die Anpassung des Barcode-Aussehens, einschließlich Farben, Größen und Textanmerkungen, um die spezifischen Designanforderungen Ihrer Anwendung zu erfüllen.

Benötige ich spezielle Werkzeuge, um IronBarCode in einen MSI-Installer zu integrieren?

Sie können gängige Entwicklungswerkzeuge wie Visual Studio verwenden, um IronBarCode in Ihre Anwendung zu integrieren und einen MSI-Installer zu erstellen. Die IronBarCode-Bibliothek ist mit .NET kompatibel und somit für Entwickler zugänglich, die dieses Framework nutzen.

Kann IronBarCode 2D-Barcodes lesen und schreiben?

Ja, IronBarCode kann sowohl 1D- als auch 2D-Barcodes lesen und schreiben, einschließlich QR-Codes, Data Matrix und andere, und bietet umfassende Barcode-Funktionen.

Was sind die Systemanforderungen für die Verwendung von IronBarCode?

IronBarCode erfordert eine .NET-Framework-Umgebung, um zu funktionieren. Es ist kompatibel mit .NET Core, .NET 5/6 und früheren Versionen und bietet somit eine breite Kompatibilität für verschiedene Projekte.

Wie fange ich mit IronBarCode an?

Um mit IronBarCode zu beginnen, können Sie die Bibliothek von der Iron Software-Website herunterladen, die Dokumentation überprüfen und sie gemäß den bereitgestellten Beispielen und Richtlinien in Ihr .NET-Projekt integrieren.

Ist technischer Support für IronBarCode-Benutzer verfügbar?

Ja, Iron Software bietet technischen Support für IronBarCode-Benutzer, einschließlich Dokumentation, Tutorials und direkter Supportoptionen, um bei Integrations- und Anwendungsproblemen zu helfen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,935,276 | Version: 2025.11 gerade veröffentlicht