IronBarCode ile Bir C# MSI Yükleyicisi Oluşturma
IronBarCode ile bir MSI yükleyici oluşturmak için çözümünüze bir Kurulum Projesi ekleyin, gerekli DLL'leri (onnxruntime.dll, IronBarcodeInterop.dll ve ReaderInterop.dll) dahil edin ve dağıtılabilir bir MSI paketi oluşturmak için projeyi derleyin.
MSI (Microsoft Installer), yazılım kurulumunu, güncellemelerini ve kaldırılmasını kolaylaştıran bir Windows kurulum paketidir. MSI kullanmak, uygulamaları yüklemek için standart bir yöntem sağlar, bu da özellikle kurumsal dağıtımlar için faydalıdır. MSI formatı, geri alma yetenekleri, idari kurulum noktaları ve Windows Installer hizmet entegrasyonu gibi gelişmiş özellikleri destekler.
IronBarCode, mevcut uygulamanızla sorunsuz bir şekilde entegre olan ve onu kolay dağıtım için bir MSI'ya dönüştüren araçlar sunar. Çeşitli ortamlar arasında güvenilir kurulum sağlar ve geliştiricilerin dahil edilecek veya hariç tutulacak bileşenleri seçmesine olanak tanır. Kütüphane birden fazla barkod formatını destekleyerek, çeşitli iş uygulamaları için çok yönlülük sağlar.
Bu öğretici, IronBarCode'un güçlü tarama yeteneklerinden yararlanan örnek barkod uygulamasından bir MSI dosyası nasıl oluşturulacağını gösterir.
Hızlı Başlangıç: Bir Tıklamayla MSI Barkod Üretin ve Okuyun
IronBarcode'un basit API'sini kullanarak hem MSI barkodları oluşturarak hem de okuma işlemini minimal bir kurulumla gerçekleştirin. Aşağıdaki kod parçacığı, bir MSI barkod görüntüsü yazmanın ve ardından geri okumanın ne kadar kolay olduğunu gösteriyor—hepsi yalnızca birkaç satırda.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/BarCode yükleyin
PM > Install-Package BarCode -
Bu kod parçasını kopyalayıp çalıştırın.
var msiImg = IronBarCode.BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI).SaveAsImage("msi.png"); var results = IronBarCode.BarcodeReader.Read("msi.png", new BarcodeReaderOptions { ExpectBarcodeTypes = BarcodeEncoding.MSI }); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronBarcode kullanmaya başlayın ücretsiz deneme ile
Minimal Is Akisi (5 adimda)
Başlamadan Önce Hangi Ön Koşullara İhtiyacım Var?
Projeye başlamadan önce, MSI yapısının çalışması için Microsoft Visual Studio Installer Projects uzantısını indirin. Ek olarak, projenizdeki NuGet üzerinden IronBarCode'u yüklediğinizden emin olun.
Visual Studio Installer Projects Uzantısı Neden Gerekiyor?
Bu uzantı, Visual Studio 2022'de MSI yükleyicileri oluşturmak için gerekli Kurulum Projesi şablonunu sağlar. Bu uzantı, 2010 sürümünden sonra Visual Studio'dan kaldırılmış dağıtım proje şablonlarını ekleyerek geliştiricilerin geleneksel Windows Installer paketlerini oluşturmasına olanak tanır.
Hangi .NET Framework Sürümünü Hedeflemeliyim?
MSI dağıtım senaryoları ile maksimum uyumluluk için Windows Forms Uygulaması (.NET Framework) kullanın. IronBarCode çeşitli .NET platformlarını desteklese de, .NET Framework sürümü, MSI yükleyicilerin tipik olarak dağıtıldığı Windows sistemleriyle en geniş uyumluluğu sağlar.
İlk MSI Yükleyici Projesini Nasıl Oluştururum?
Bu örnek için, işlevselliğini göstermek üzere bir Windows Forms Uygulaması (.NET Framework) projesi kullanın. Bu yaklaşım, masaüstü barkod tarama uygulamaları için tanıdık bir UI paradigm sağlar.
MSI Yükleyicileri İçin Hangi Proje Türü En İyi Çalışır?
MSI ile dağıtılabilir barkod taraması yapan uygulamalar oluşturmak için en basit yolu Windows Forms uygulamaları sağlar. Yerel Windows entegrasyonu sunarlar ve .NET Framework ötesinde ek çalışma zamanı bağımlılıkları gerektirmezler.
Demo Uygulamanın Ana Bileşenleri Nelerdir?
Uygulama, resimlerden barkod taraması yapmak için dosya diyalogunu açan bir düğmeye sahip bir formdan oluşur. Bu basit arayüz, temel işlevselliği gösterirken dağıtım karmaşıklığını en aza indirir. Daha ileri düzey senaryolar için PDF'lerden barkod okuma veya asenkron barkod okuma uygulamalarını keşfetmeyi düşünün.
Windows Form'a Nasıl Bir Düğme Eklerim?
- Araç Kutusu'na gidin
- Düğme'yi arayın
- Düğmeyi eklemek için Windows formuna sürükleyip bırakın

Düğme Denetimini Nerede Bulabilirim?
Düğme denetimi, Visual Studio Araç Kutusu'nun Genel Denetimler bölümünde bulunur. Araç Kutusu görünmüyorsa, Görünüm > Araç Kutusu veya Ctrl+Alt+X tuşlarına basarak açın.
Form Üzerinde Düğmeyi Nasıl Konumlandırmalıyım?
Düğmeyi formun ortasına veya kullanıcıların birincil işlemi bulmayı doğal olarak beklediği yere yerleştirin. Uygulamalar arasında tutarlı bir kullanıcı deneyimi için Windows UI yönergelerini izlemeyi düşünün.
Barkod Tarama İşlemlerini Yönetmek İçin Düğme Kodunu Nasıl Düzenlerim?
Formun C# koduna erişmek için düğme bileşenine çift tıklayın. Aşağıda form bileşenin mantığı var—bir barkod alır ve taramaya çalışır. Bu kod yalnızca görüntüleri tarar ve PDF'ler için çalışmaz. PDF belgeleri için ReadPdf yöntemini kullanın. Kapsamlı barkod okuma seçenekleri için barkod okuyucu ayarları belgelerine bakı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}");
}
}
}
}
}
}
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
Imports System.Drawing
Imports System.Windows.Forms
Namespace MsiInstallerSample
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.All
IronSoftware.Logger.LogFilePath = "Default.log"
IronBarCode.License.LicenseKey = "IRONBARCODE-MYLICENSE-KEY-1EF01"
Using openFileDialog As New OpenFileDialog()
openFileDialog.Filter = "Image files (All files (*.*)|*.*"
If openFileDialog.ShowDialog() = DialogResult.OK Then
Try
' Load the selected image
Using bmp As New Bitmap(openFileDialog.FileName)
' Process the image
Dim anyBitmap As AnyBitmap = AnyBitmap.FromBitmap(bmp)
' Configure barcode reader options (customize as needed)
Dim option As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Detailed,
.ExpectMultipleBarcodes = True,
.ScanMode = BarcodeScanMode.Auto
}
Dim result As BarcodeResults = IronBarCode.BarcodeReader.Read(anyBitmap, option)
If result.Count > 0 Then
Dim output As String = String.Empty
For Each barcode In result
Console.WriteLine($"Barcode Found: {barcode.Text}")
output += barcode.Text & vbCrLf
Next
MessageBox.Show($"Detected Barcodes: {vbCrLf}{output}")
Else
MessageBox.Show("No Barcode found.")
End If
End Using
Catch ex As Exception
MessageBox.Show($"{ex.Message}")
End Try
End If
End Using
End Sub
End Class
End Namespace
Barkod Okuma Mantığının Ana Bileşenleri Nelerdir?
Kod, resimleri seçmek için OpenFileDialog kullanır, detaylı tarama için BarcodeReaderOptions konfigüre eder ve sonuçları MessageBox ile gösterir. Performans gereksinimlerinize göre okuma hız seçenekleri ayarlanabilir. ExpectMultipleBarcodes ayarı, tek bir görüntüden birden fazla barkod okuma işlemini etkinleştirir.
Üretim Hatalarında Nasıl Baş Etmeliyim?
Ham istisna detaylarını göstermek yerine, uygun hata kaydı ve kullanıcı dostu hata mesajları ekleyin. Tanımlanamayan barcode senaryoları için yeniden deneme mantığını uygulamayı ve kullanıcılarınıza görüntü kalitesi gereksinimleri konusunda rehberlik sağlamayı düşünün.
Bu Kod ile PDF Belgelerini Taramak Mümkün mü?
PDF barkod çıkarımını düzgün bir şekilde ele almak için PDF belgelerinde BarcodeReader.Read yöntemini BarcodeReader.ReadPdf ile değiştirin. Ayrıca PDF-spesifik barcode okuyucu ayarlarını keşfederek optimize edilmiş performans elde edebilirsiniz.
PDF desteği için kodu nasıl değiştirebileceğinizin bir örneği:
// 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
}
// 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
}
' For PDF documents, use ReadPdf method
If Path.GetExtension(openFileDialog.FileName).ToLower() = ".pdf" Then
Dim pdfResults = BarcodeReader.ReadPdf(openFileDialog.FileName, option)
' Process PDF results similar to image results
End If
MSI Oluşturmak İçin Kurulum Projesini Nasıl Eklerim?
Form ve kontrol mantığını ayarladıktan sonra, MSI yükleyicisi oluşturmak için mevcut çözüme bir Kurulum Projesi ekleyin. Kurulum Projesi, yeni oluşturduğunuz uygulama için bir yükleyici oluşturmanıza olanak tanır. Bu süreç, gerekli bileşenler de dahil olmak üzere IronBarCode bağımlılıkları dahil tüm gerekli bileşenleri tek bir dağıtılabilir birime paketler.
Çözüme sağ tıklayın, ardından Ekle > Yeni Proje... gidin
MSI yükleyicisi için, MsiInstallerSample projesini yeniden Derleme modunda yeniden oluşturun. Kurulum Projesine sağ tıklayın, ardından Ekle > Proje Çıktısı... gidin

MSI yükleyicinin sorunsuz çalışmasını sağlamak için kurulum projenize aşağıdaki üç dosyayı dahil etmelisiniz: onnxruntime.dll, IronBarcodeInterop.dll ve ReaderInterop.dll. Bu dosyalar, projeyi Derleme modunda derlediğinizde üretilir:
onnxruntime.dll:MsiInstallerSample\MsiInstallerSample\bin\ReleasekonumundaIronBarcodeInterop.dll:MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\nativekonumundaReaderInterop.dll:MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\nativekonumunda

Bu dosyalardan herhangi biri eksikse, bu sorun giderme makalesinde belirtildiği gibi şu istisna mesajıyla karşılaşabilirsiniz: MSI Yükleyici Oluşturulurken Eksik DLL'ler
Son olarak, Kurulum Projesini oluşturun. Yükleyici şu konumda bulunacaktır: MsiInstallerSample\SetupProject\Release
Bu Belirli DLL'ler Neden Gerekli?
IronBarCode, ML tabanlı barcode algılama ve işleme yetenekleri için bu yerel kütüphanelere bağımlıdır. onnxruntime.dll, makine öğrenimi çalışma zamanını sağlarken, IronBarcodeInterop.dll ve ReaderInterop.dll yerel barcode işleme işlemlerini yönetir. Bu bileşenler, görüntü düzeltmesi ve hata toleransı gibi gelişmiş özellikleri mümkün kılar.
Bu DLL'leri Dahil Etmeyi Unutursam Ne Olur?
Eksik DLL'ler, kullanıcılar yükleme sonrasında barcode taramaya çalıştığında çalışma zamanı istisnalarına neden olacaktır. Uygulama, IronBarCode'u doğru bir şekilde başlatamayabilir ve FileNotFoundException veya DllNotFoundException hataları ile sonuçlanabilir.
Proje Çıkış Ayarlarını Nasıl Yapılandırabilirim?
Proje çıkışı ekleme sırasında "Birincil çıkış"ı seçerek ana yürütülebilir dosyayı ve onun yönetilen bağımlılıklarını dahil edin. Bu, tüm .NET dizinlerinin dahil edilmesini sağlar, ancak yukarıda belirtilen yerel DLL'leri el ile eklemeniz gerektiğini unutmayın.
MSI Yükleyicisini Nasıl Çalıştırır ve Test Ederim?
Her şeyin sorunsuz çalıştığını doğrulamak için MSI dosyası ile uygulamayı kurun. Testler, sorunsuz bir dağıtım sağlamak için hem kurulum hem de kaldırma senaryolarını kapsamalıdır.

Test Sırasında Ne Kontrol Etmeliyim?
Uygulamanın düzgün başlatıldığını, dosya dialoglarını açabildiğini ve test görüntülerinden barcode'ları başarıyla taradığını doğrulayın. Kapsamlı işlevselliği sağlamak için çeşitli desteklenen barcode formatları ile test yapın. Ayrıca lisans anahtarı uygulamasının dağıtılan ortamda düzgün çalıştığını doğrulayın.
Kurulum Sorunlarını Nasıl Çözebilirim?
Herhangi bir kurulum hatası veya eksik bileşen hakkında ayrıntılı bilgi yakalamak için Windows Yükleyici günlük kaydını etkinleştirin. Ek hata ayrıntıları için Windows Olay Görüntüleyiciyi kontrol edin ve yaygın dağıtım sorunları için sorun giderme kılavuzlarına danışın.
Tam Örnek Projeyi Nereden İndirebilirim?
Bu kılavuz için tam kodu indirebilirsiniz. Visual Studio'da WinFormApp projesi olarak açabileceğiniz zipped bir dosya olarak gelir. Örnek, gerekli tüm yapılandırmaları içerir ve MSI dağıtımı için en iyi uygulamaları gösterir.
WinForm MSI Uygulama Projesini İndirin
Örnek Projede Neler Var?
İndirme, bir Windows Forms uygulaması ve yapılandırılmış Kurulum Projesi ile tamamlanmış bir Visual Studio çözümünü içerir. Test için örnek barcode görüntüleri içerir ve dağıtım senaryoları için uygun lisans anahtarı yapılandırmasını gösterir.
İndirilen Projeyi Nasıl Açabilirim?
ZIP dosyasını çıkarın ve .sln dosyasını Visual Studio 2022'de Installer Projects uzantısı yüklü olan açın. IronBarcode'un en son sürümünün NuGet Paket Yöneticisi aracılığıyla yüklendiğinden emin olun. Daha ayrıntılı kurulum talimatları için API belgelerine başvurun.
Sıkça Sorulan Sorular
Barkod uygulaması ile bir MSI yükleyici oluştururken hangi DLL dosyalarına ihtiyaç vardır?
IronBarCode ile bir MSI yükleyici oluştururken üç temel DLL dosyasını dahil etmeniz gereklidir: onnxruntime.dll, IronBarcodeInterop.dll, ve ReaderInterop.dll. Bu dosyalar, uygulamanız MSI paketi aracılığıyla dağıtıldığında IronBarCode'un düzgün çalışmasını sağlar.
Barkod uygulamam için bir MSI yükleyici oluşturmak öncesinde hangi gereksinimleri karşılamam gerekiyor?
IronBarCode ile bir MSI yükleyici oluşturmadan önce Visual Studio 2022 için Microsoft Visual Studio Installer Projects uzantısını indirip kurmanız gerekiyor. Ek olarak, IronBarCode'un NuGet paket yöneticisi aracılığıyla projenize yüklendiğinden emin olun.
C# ile nasıl hızlı bir şekilde MSI barkodları oluşturup okuyabilirim?
IronBarCode, MSI barkodlarını oluşturmak ve okumak için basit bir API sağlar. BarcodeWriter.CreateBarcode() ile MSI kodlama türünü kullanarak bir MSI barkodu oluşturabilir, bunu bir resim olarak kaydedebilir ve daha sonra BarcodeEncoding.MSI olarak okuyucu seçeneklerinde belirtilerek BarcodeReader.Read() ile geri okuyabilirsiniz.
Barkod uygulamalarını dağıtmak için MSI yükleyicilerinin avantajları nelerdir?
MSI yükleyiciler, kurumsal dağıtımlar için ideal standartlaştırılmış kurulum yöntemleri sağlar. IronBarCode ile birleştirildiklerinde geri alma yetenekleri, idari kurulum noktaları ve Windows Installer hizmet entegrasyonu sunar ve geliştiricilerin hangi bileşenleri dahil edeceğini seçmelerine olanak tanırken çeşitli ortamlarda güvenilir kurulum garanti eder.
Barkod kütüphanesi, MSI paketlerinde birden çok barkod formatını destekliyor mu?
Evet, IronBarCode birden çok barkod formatını destekler ve bu sayede farklı iş uygulamaları için çok yönlü bir kullanım sağlar. Bu esneklik, geliştiricilere belirli iş gereksinimlerine göre çeşitli barkod türlerini MSI paketli uygulamalarına entegre etme olanağı verir.

