IRONSOFTWAREHOME

Tworzenie instalatora MSI C# z IronBarcode

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

Aby utworzyć instalator MSI za pomocą IronBarcode, dodaj projekt instalacyjny do Twojego rozwiązania, uwzględnij wymagane DLL (onnxruntime.dll, IronBarcodeInterop.dll i ReaderInterop.dll), a następnie zbuduj projekt, aby wygenerować dystrybuowalny pakiet MSI.

MSI (Microsoft Installer) to pakiet instalacyjny systemu Windows, który ułatwia instalację, aktualizację i usuwanie oprogramowania. Korzystanie z pliku MSI zapewnia standardową metodę instalacji aplikacji, co jest szczególnie korzystne w przypadku wdrożeń Enterprise. Format MSI obsługuje zaawansowane funkcje, takie jak możliwość przywracania poprzednich wersji, administracyjne punkty instalacji oraz integrację z usługą Windows Installer.

IronBarcode oferuje narzędzia do bezproblemowej integracji z istniejącą aplikacją i konwersji jej do MSI w celu łatwej dystrybucji. Zapewnia to niezawodną instalację w różnych środowiskach i pozwala programistom wybrać, które komponenty mają zostać uwzględnione, a które pominięte. Biblioteka obsługuje wiele formatów BARCODE, dzięki czemu jest wszechstronna i nadaje się do różnych zastosowań biznesowych.

Ten tutorial pokazuje, jak stworzyć plik MSI z przykładowej aplikacji kodu kreskowego, która wykorzystuje potężne możliwości skanowania IronBarcode.

Szybki start: Generowanie i odczytywanie BarCoda MSI jednym kliknięciem

Wykorzystaj proste API IronBarcode do tworzenia i odczytywania kodów kreskowych MSI przy minimalnej konfiguracji. Poniższy fragment kodu pokazuje, jak łatwo jest zapisać obraz kodu kreskowego MSI, a następnie go odczytać — wszystko to w zaledwie kilku wierszach.

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. 2Skopiuj i uruchom ten fragment kodu.

    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. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronBarcode w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jakie warunki wstępne muszę spełnić przed rozpoczęciem pracy?

Przed rozpoczęciem projektu prosimy o pobranie rozszerzenia Microsoft Visual Studio Installer Projects aby kompilacja MSI działała. Dodatkowo upewnij się, że masz zainstalowany IronBarcode za pomocą NuGet w swoim projekcie.

Dlaczego wymagane jest rozszerzenie Visual Studio Installer Projects?

Rozszerzenie udostępnia szablon projektu instalacyjnego niezbędny do tworzenia instalatorów MSI w Visual Studio 2022. Rozszerzenie to dodaje szablony projektów wdrożeniowych, które zostały usunięte z Visual Studio po wersji 2010, umożliwiając programistom tworzenie tradycyjnych pakietów Windows Installer.

Na jaką wersję .NET Framework powinienem się skupić?

Użyj aplikacji Windows Forms (.NET Framework), aby uzyskać maksymalną kompatybilność ze scenariuszami wdrażania MSI. Podczas gdy IronBarcode obsługuje różne platformy .NET, wersja .NET Framework zapewnia najszerszą zgodność z systemami Windows, w których instalatory MSI są zazwyczaj wdrażane.

Jak utworzyć wstępny projekt instalatora MSI?

W tym przykładzie należy wykorzystać projekt aplikacji Windows Forms (.NET Framework) w celu zademonstrowania jego funkcjonalności. Takie podejście zapewnia znany paradygmat interfejsu użytkownika dla aplikacji do skanowania kodów kreskowych na komputerach stacjonarnych.

Który typ projektu najlepiej sprawdza się w przypadku instalatorów MSI?

Aplikacje Windows Forms zapewniają najprostszą ścieżkę tworzenia aplikacji do skanowania BarCode wdrażanych w formacie MSI. Oferują one natywną integrację z systemem Windows i nie wymagają dodatkowych zależności środowiskowych poza platformą .NET Framework.

Jakie są kluczowe elementy aplikacji demonstracyjnej?

Aplikacja składa się z formularza z przyciskiem, który otwiera okno dialogowe plików w celu skanowania BarCodes z obrazów. Ten prosty interfejs demonstruje podstawową funkcjonalność, jednocześnie minimalizując złożoność wdrożenia. W bardziej zaawansowanych scenariuszach warto rozważyć odczytywanie BarCodes z plików PDF lub wdrożenie asynchronicznego odczytu BarCodes.

Jak dodać przycisk do formularza Windows Form?

  • Przejdź do ToolBox
  • Wyszukaj Button
  • Dodaj przycisk, przeciągając go i upuszczając na formularz Windows

Visual Studio Toolbox pokazujący zaznaczone kontrolki Button w sekcji Wszystkie Windows Forms do dodania do formularza

Gdzie mogę znaleźć kontrolkę przycisku?

Kontrola Button znajduje się w sekcji Common Controls Toolbox Visual Studio. Jeśli narzędziownia nie jest widoczna, otwórz ją z View > Toolbox lub naciśnij Ctrl+Alt+X.

Jak umieścić przycisk w formularzu?

Wyśrodkuj przycisk w formularzu lub umieść go w miejscu, w którym użytkownicy naturalnie oczekują znalezienia głównej akcji. Warto wziąć pod uwagę wytyczne dotyczące interfejsu użytkownika systemu Windows, aby zapewnić spójne wrażenia użytkownika we wszystkich aplikacjach.

Jak edytować kod przycisku, aby obsługiwał skanowanie BarCode'ów?

Kliknij dwukrotnie na komponent przycisku, aby uzyskać dostęp do kodu C# formularza. Poniżej znajduje się logika komponentu formularza — pobiera on BarCode i próbuje go zeskanować. Ten kod skanuje wyłącznie obrazy i nie działa w przypadku plików PDF. Użyj metody ReadPdf dla dokumentów PDF. Aby uzyskać informacje na temat wszystkich opcji odczytu kodów kreskowych, zapoznaj się z dokumentacją dotyczącą ustawień czytnika kodów kreskowych.

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}");
                    }
                }
            }
        }
    }
}

Jakie są kluczowe elementy logiki odczytu BarCode?

Kod używa OpenFileDialog do wyboru obrazów, konfiguruje BarcodeReaderOptions do szczegółowego skanowania, a wyniki wyświetla za pomocą MessageBox. Opcje szybkości czytania można dostosować w zależności od wymagań dotyczących wydajności. Ustawienie ExpectMultipleBarcodes umożliwia czytanie wielu kodów kreskowych z pojedynczego obrazu.

Jak radzić sobie z błędami w środowisku produkcyjnym?

Należy uwzględnić odpowiednie rejestrowanie błędów i przyjazne dla użytkownika komunikaty o błędach zamiast wyświetlania surowych szczegółów wyjątków. Należy rozważyć wdrożenie logiki ponownej próby w przypadku nierozpoznania kodu kreskowego oraz udzielenie użytkownikom wskazówek dotyczących wymagań dotyczących jakości obrazu.

Czy za pomocą tego kodu mogę skanować dokumenty PDF?

Dla dokumentów PDF, zastąp metodę BarcodeReader.Read metodą BarcodeReader.ReadPdf, aby poprawnie obsłużyć ekstrakcję kodu kreskowego PDF. Możesz również zapoznać się z ustawieniami czytnika kodów kreskowych dla plików PDF, aby zoptymalizować wydajność.

Oto przykład, jak zmodyfikować kod w celu obsługi plików 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#

Jak dodać projekt instalacyjny, aby utworzyć plik MSI?

Po skonfigurowaniu formularza i logiki kontrolera dodaj projekt Setup Project do istniejącego rozwiązania, aby utworzyć instalator MSI. Projekt Setup pozwala na stworzenie instalatora dla właśnie utworzonej aplikacji. Ten proces pakuje wszystkie niezbędne komponenty, w tym zależności IronBarcode, w jedną jednostkę wdrożeniową.

Kliknij prawym przyciskiem myszy na rozwiązanie, a następnie przejdź do Dodaj > Nowy projekt...

Visual Studio Solution Explorer menu kontekstowe pokazujące Dodaj > Nowy Projekt opcje do tworzenia projektów instalacyjnych

W przypadku instalatora MSI należy ponownie skompilować projekt MsiInstallerSample w trybie Release.
Kliknij prawym przyciskiem myszy na projekt Setup, a następnie przejdź do Add > Project Output...

Visual Studio Add Project Output Group dialog pokazujący opcje wdrażania dla SetupProject z Solution Explorer widocznym

Aby zapewnić płynne działanie instalatora MSI, musisz uwzględnić w Twoim projekcie instalacyjnym następujące trzy pliki: onnxruntime.dll, IronBarcodeInterop.dll i ReaderInterop.dll. Pliki te są generowane podczas kompilacji projektu w trybie Release:

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

Visual Studio dialog plików wybierający ReaderInterop.dll do dodania do projektu setup z Solution Explorer pokazującym zależności

Jeśli którykolwiek z tych plików zostanie pominięty, może pojawić się następujący komunikat o wyjątku, jak opisano w tym artykułe dotyczącym rozwiązywania problemów: Brakujące biblioteki DLL podczas tworzenia instalatora MSI

Na koniec skompiluj projekt instalacyjny. Instalator będzie zlokalizowany w: MsiInstallerSample\SetupProject\Release

Dlaczego potrzebne są właśnie te biblioteki DLL?

IronBarcode zależy od tych natywnych bibliotek do wykrywania i przetwarzania kodów kreskowych opartego na ML. onnxruntime.dll zapewnia środowisko wykonawcze uczenia maszynowego, podczas gdy IronBarcodeInterop.dll i ReaderInterop.dll obsługują operacje przetwarzania kodów kreskowych na poziomie natywnym. Te komponenty umożliwiają zaawansowane funkcje jak korekcja obrazu oraz tolerancja błędów.

Co się stanie, jeśli zapomnę uwzględnić te DLL?

Brakujące DLL spowodują wyjątki w czasie wykonywania, gdy użytkownicy spróbują skanować kody kreskowe po instalacji. Aplikacja może niepoprawnie zainicjować IronBarcode, co prowadzi do błędów FileNotFoundException lub DllNotFoundException.

Jak skonfigurować ustawienia wyjściowe projektu?

Wybierz "Primary output", gdy dodajesz wyjście projektu, aby uwzględnić główny plik wykonywalny i jego zarządzane zależności. To zapewnia uwzględnienie wszystkich assembly .NET, ale pamiętaj, aby ręcznie dodać powyżej wymienione natywne DLL.

Jak uruchomić i przetestować instalator MSI?

Zainstaluj aplikację za pomocą pliku MSI, aby upewnić się, że wszystko działa płynnie. Testy powinny obejmować zarówno scenariusze instalacji, jak i deinstalacji, aby zweryfikować poprawne wdrożenie.

Visual Studio pokazujące ukończone budowanie instalatora z folderem Release zawierającym setup.exe i pliki instalatora

Co należy sprawdzić podczas testów?

Zweryfikuj, czy aplikacja uruchamia się poprawnie, czy potrafi otworzyć dialogi plików i skutecznie skanuje kody kreskowe z obrazów testowych. Przetestuj z różnymi obsługiwanymi formatami kodów kreskowych, aby zapewnić pełną funkcjonalność. Zwróć także uwagę, czy aplikacja klucza licencyjnego działa poprawnie w wdrożonym środowisku.

Jak można rozwiązywać problemy z instalacją?

Włącz logowanie Instalatora Windows, aby uchwycić szczegółowe informacje o wszelkich problemach z instalacją lub brakujących komponentach. Sprawdź Windows Event Viewer dla dodatkowych szczegółów dotyczących błędów i skonsultuj przewodnikami rozwiązywania problemów w przypadku typowych problemów wdrożeniowych.

Gdzie mogę pobrać kompletny projekt przykładowy?

Możesz pobrać pełny kod do tego przewodnika. Jest dostępny jako plik zip, który możesz otworzyć w Visual Studio jako projekt WinFormApp. Przykład zawiera wszystkie niezbędne konfiguracje i demonstruje najlepsze praktyki dla wdrożenia MSI.

Pobierz projekt aplikacji WinForm MSI

Co zawiera przykładowy projekt?

Pobranie zawiera kompletną solucję Visual Studio z aplikacją Windows Forms i skonfigurowanym projektem instalacyjnym. Zawiera przykładowe obrazy kodów kreskowych do testowania i demonstruje poprawną konfigurację klucza licencyjnego dla scenariuszy wdrożeniowych.

Jak otworzyć pobrany projekt?

Rozpakuj plik ZIP i otwórz plik .sln w Visual Studio 2022 z zainstalowanym rozszerzeniem Projektów Instalatora. Upewnij się, że masz najnowszą wersję IronBarcode zainstalowaną za pomocą menedżera pakietów NuGet. Dla bardziej szczegółowych instrukcji dotyczących konfiguracji, zapoznaj się z dokumentacją API.

Często Zadawane Pytania

Jakie pliki DLL są wymagane przy tworzeniu instalatora MSI z aplikacją kodu kreskowego?

Podczas tworzenia instalatora MSI z IronBarCode, należy uwzględnić trzy niezbędne pliki DLL: onnxruntime.dll, IronBarcodeInterop.dll i ReaderInterop.dll. Zapewniają one, że IronBarCode działa poprawnie, gdy twoja aplikacja jest wdrażana za pośrednictwem pakietu MSI.

Jakie wymagania wstępne muszę spełnić przed stworzeniem instalatora MSI dla mojej aplikacji z kodem kreskowym?

Przed stworzeniem instalatora MSI z IronBarCode, musisz pobrać i zainstalować rozszerzenie Microsoft Visual Studio Installer Projects dla Visual Studio 2022. Dodatkowo upewnij się, że IronBarCode jest zainstalowane w twoim projekcie za pomocą menedżera pakietów NuGet.

Jak szybko wygenerować i odczytać kody kreskowe MSI w C#?

IronBarCode oferuje proste API do generowania i odczytywania kodów kreskowych MSI. Możesz stworzyć kod kreskowy MSI za pomocą BarcodeWriter.CreateBarcode() z typem kodowania MSI, zapisać go jako obraz, a następnie odczytać go za pomocą BarcodeReader.Read() z BarcodeEncoding.MSI określonym w opcjach odczytu.

Jakie są zalety używania instalatorów MSI do dystrybucji aplikacji z kodami kreskowymi?

Instalatory MSI oferują znormalizowane metody instalacji idealne do wdrożeń w przedsiębiorstwach. Po połączeniu z IronBarCode oferują możliwości wycofania, punkty instalacyjne administracyjne, integrację z usługą Windows Installer i zapewniają niezawodną instalację w różnych środowiskach, umożliwiając jednocześnie programistom wybór, które komponenty dołączyć.

Czy biblioteka kodów kreskowych obsługuje wiele formatów kodów kreskowych w pakietach MSI?

Tak, IronBarCode obsługuje wiele formatów kodów kreskowych, dzięki czemu jest wszechstronna dla różnych zastosowań biznesowych. Ta elastyczność pozwala programistom na integrację różnych typów kodów kreskowych w aplikacjach pakowanych w MSI zgodnie z określonymi wymaganiami biznesowymi.

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
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 2,422,100Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronBarCode"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronBarCode do lokalizacji, takiej jak ~/Libs w katalogu Twojego rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Referencje. Wybierz Przeglądaj, "IronBarCode.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta