IronBarcode 操作指南 創建 MSI 安裝程式 使用IronBarcode建立 C# MSI 安裝程序 Curtis Chau 更新:2026年1月20日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English 若要使用IronBarcode建立 MSI 安裝程序,請將安裝項目新增至您的解決方案中,包含所需的 DLL(IronBarcodeInterop.dll 和 ReaderInterop.dll),然後建置專案以產生可分發的 MSI 套件。 MSI(Microsoft Installer)是一種 Windows 安裝包,可輕鬆進行軟體安裝、更新和卸載。 使用 MSI 提供了一種標準化的應用程式安裝方法,這對於企業部署尤其有利。 MSI 格式支援回溯功能、管理安裝點和 Windows Installer 服務整合等進階功能。 IronBarcode提供工具,可與您現有的應用程式無縫集成,並將其轉換為 MSI 檔案以便於分發。 它確保在各種環境下可靠安裝,並允許開發人員選擇要包含或排除的組件。 該庫支援多種條碼格式,使其適用於各種商業應用。 本教學課程示範如何從利用 IronBarCode 強大的掃描功能的範例條碼應用程式建立 MSI 檔案。 快速入門:一鍵產生並讀取 MSI 條碼 使用 IronBarcode 簡潔易用的 API,只需極少的設定即可建立和讀取 MSI 條碼。以下程式碼片段展示瞭如何輕鬆地寫入 MSI 條碼圖像,然後再將其讀取回來——所有操作只需幾行程式碼即可完成。 使用NuGet套件管理器安裝https://www.nuget.org/packages/BarCode PM > Install-Package BarCode 複製並運行這段程式碼。 var msiImg = IronBarCode.BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI).SaveAsImage("msi.png"); var results = IronBarCode.BarcodeReader.Read("msi.png", new BarcodeReaderOptions { ExpectBarcodeTypes = BarcodeEncoding.MSI }); 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronBarcode Free 30 Day Trial 最簡工作流程(5個步驟) 下載用於建立 MSI 安裝程式的 C# 庫 從工具箱中新增一個新按鈕 編輯按鈕的程式碼以呼叫條碼讀取功能 新增並配置安裝項目 下載範例項目,快速入門 開始之前我需要具備哪些先決條件? 在開始專案之前,請下載[Microsoft Visual Studio Installer Projects 擴充功能]( 要讓 MSI 建置正常運作,需要從 https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2022InstallerProjects 取得該專案。 此外,請確保已透過NuGet在您的專案中安裝了IronBarcode 。 為什麼需要 Visual Studio Installer Projects 擴充功能? 此擴充功能提供了在 Visual Studio 2022 中建立 MSI 安裝程式所需的安裝專案範本。此擴充功能新增了在 Visual Studio 2010 版本之後被移除的部署專案模板,使開發人員能夠建立傳統的 Windows Installer 套件。 我應該使用哪個版本的.NET Framework ? 使用 Windows Forms 應用程式(.NET Framework)可最大程度地相容於 MSI 部署方案。 雖然IronBarcode支援各種.NET平台,但.NET Framework版本可確保與 Windows 系統(MSI 安裝程式通常部署在 Windows 系統上)實現最廣泛的相容性。 如何建立初始 MSI 安裝程式專案? 在這個範例中,使用 Windows Forms 應用程式 (.NET Framework) 專案來示範其功能。 這種方法為桌面條碼掃描應用程式提供了一種熟悉的使用者介面範式。 哪種項目類型最適合 MSI 安裝程式? Windows Forms 應用程式為建立 MSI 部署的條碼掃描應用程式提供了最直接的途徑。 它們提供原生 Windows 集成,除了.NET Framework之外,不需要額外的執行時間依賴項。 演示應用程式的關鍵組成部分是什麼? 該應用程式包含一個表單,表單上有一個按鈕,點擊該按鈕會打開一個檔案對話框,用於掃描圖像中的條碼。 這個簡潔的介面展示了核心功能,同時最大限度地降低了部署的複雜性。 對於更高級的場景,可以考慮探索從 PDF 讀取條碼或實現非同步條碼讀取。 如何在 Windows 表單中新增按鈕? 導航至工具箱 搜尋按鈕 將按鈕拖曳到 Windows 表單上,即可新增按鈕。 按鈕控制在哪裡? Button控制項位於Visual Studio工具箱的"常用控制項"部分。 如果工具箱不可見,請從"視圖">"工具箱"開啟它,或按 Ctrl+Alt+X。 按鈕在表單上的位置應該如何設定? 將按鈕置於表單中心或使用者自然期望找到主要操作的位置。 為了確保應用程式之間使用者體驗的一致性,請考慮遵循 Windows UI 指南。 如何編輯按鈕代碼以支援條碼掃描? 雙擊按鈕元件即可存取窗體的 C# 程式碼。 以下是表單元件的邏輯——它接收條碼並嘗試掃描它。 這段程式碼只能掃描影像,不能掃描PDF檔。 對 PDF 文件使用 ReadPdf 方法。 有關完整的條碼讀取選項,請參閱條碼讀取器設定文件。 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}"); } } } } } } $vbLabelText $csharpLabel 條碼讀取邏輯的關鍵組成部分是什麼? 程式碼使用 OpenFileDialog 選擇影像,配置 BarcodeReaderOptions 進行詳細掃描,並透過 MessageBox 顯示結果。 您可以根據效能需求調整閱讀速度選項。 ExpectMultipleBarcodes 設定允許從單一影像讀取多個條碼。 生產環境中的錯誤該如何處理? 請新增適當的錯誤日誌記錄和使用者友好的錯誤訊息,而不是顯示原始的異常詳細資訊。 考慮在條碼無法識別的情況下實施重試邏輯,並向使用者提供有關影像品質要求的指導。 我可以用這段程式碼掃描PDF文件嗎? 對於 PDF 文檔,請將 BarcodeReader.Read 方法替換為 BarcodeReader.ReadPdf,以便正確處理 PDF 條碼提取。 您也可以探索PDF 專用條碼閱讀器設置,以優化效能。 以下是如何修改程式碼以支援 PDF 的範例: // 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 } $vbLabelText $csharpLabel 如何新增安裝專案以建立 MSI 檔案? 設定好表單及其控制器邏輯後,請向現有解決方案新增安裝項目以建立 MSI 安裝程式。 安裝專案可讓您為剛剛建立的應用程式建立安裝程式。 此程序將所有必要的元件(包括IronBarcode依賴項)打包到一個可部署的單元中。 右鍵單擊解決方案,然後選擇"新增" > "新專案..." 對於 MSI 安裝程序,請在 Release 模式下再次建置 MsiInstallerSample 專案。 右鍵單擊"設定項目",然後選擇"新增" > "項目輸出…" 為確保 MSI 安裝程式順利運行,您必須在安裝專案中包含以下三個檔案:IronBarcodeInterop.dll 和 ReaderInterop.dll。 這些文件是在以發布模式建立專案時產生的: onnxruntime.dll: 位於 MsiInstallerSample\MsiInstallerSample\bin\Release IronBarcodeInterop.dll: 位於 MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native ReaderInterop.dll: 位於 MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native 如果缺少任何這些文件,您可能會遇到以下異常訊息,如這篇故障排除文章所述:在建立 MSI 安裝程式時缺少 DLL 文件 最後,建置安裝專案。 安裝程式位於:MsiInstallerSample\SetupProject\Release 為什麼需要這些特定的 DLL 檔案? IronBarcode依賴這些原生程式庫來實現基於機器學習的條碼偵測和處理功能。 onnxruntime.dll 提供機器學習運行時,而 IronBarcodeInterop.dll 和 ReaderInterop.dll 則處理原生條碼處理操作。 這些組件實現了影像校正和容錯等高級功能。 如果我忘記包含這些 DLL 檔案會發生什麼? 安裝後,如果缺少 DLL 文件,使用者嘗試掃描條碼時將會出現執行時異常。 應用程式可能無法正確初始化IronBarcode ,從而導致 FileNotFoundException 或 DllNotFoundException 錯誤。 如何配置專案輸出設定? 新增專案輸出時,選擇"主要輸出"以包含主可執行檔及其託管相依性。 這樣可以確保包含所有.NET程序集,但請記住手動添加上面提到的本機 DLL。 如何運行和測試 MSI 安裝程式? 請使用 MSI 檔案安裝應用程序,以確保一切順利運行。 測試應涵蓋安裝和卸載兩種場景,以驗證部署是否正確。 測試過程中我應該檢查哪些內容? 驗證應用程式是否能正確啟動,是否能開啟檔案對話框,以及能否成功掃描測試影像中的條碼。 使用各種支援的條碼格式進行測試,以確保功能全面。 同時驗證許可證密鑰應用程式在已部署環境中是否正常運作。 如何排除安裝問題? 啟用 Windows Installer 日誌記錄,以擷取任何安裝失敗或缺少元件的詳細資訊。 查看 Windows 事件檢視器以取得更多錯誤詳細信息,並查閱故障排除指南以解決常見的部署問題。 在哪裡可以下載完整的範例專案? 您可以下載本指南的完整程式碼。程式碼以壓縮檔案的形式提供,您可以在 Visual Studio 中將其作為 WinFormApp 專案開啟。 此範例包含所有必要的配置,並示範了 MSI 部署的最佳實務。 下載 WinForm MSI 應用程式項目 範例項目包含哪些內容? 下載內容包含一個完整的 Visual Studio 解決方案,其中包含 Windows 窗體應用程式和已設定的安裝項目。 它包含用於測試的範例條碼影像,並示範了部署場景的正確許可證金鑰配置。 如何開啟下載的項目? 解壓縮 ZIP 文件,然後在安裝了 Installer Projects 擴充功能的 Visual Studio 2022 中開啟 .sln 文件。 請確保您已透過NuGet套件管理器安裝了最新版本的IronBarcode 。 有關更詳細的設定說明,請參閱API 文件。 常見問題解答 使用 BarCode 應用程式建立 MSI 安裝程式時,需要哪些 DLL 檔案? 在使用 IronBarcode 創建 MSI 安裝程式時,您需要包含三個重要的 DLL 檔案:onnxruntime.dll、IronBarcodeInterop.dll 和 ReaderInterop.dll。這些檔案可確保當您的應用程式透過 MSI 套件部署時,IronBarcode 能正常運作。 在為我的 BarCode 應用程式建立 MSI 安裝程式之前,我需要哪些先決條件? 在使用 IronBarcode 建立 MSI 安裝程式之前,您需要下載並安裝 Visual Studio 2022 的 Microsoft Visual Studio Installer Projects 擴充套件。此外,確保 IronBarCode 已經透過 NuGet 套件管理程式安裝在您的專案中。 如何在 C# 中快速生成和讀取 MSI BarCode? IronBarCode 提供一個簡單的 API 來產生和讀取 MSI 條碼。您可以使用BarcodeWriter.CreateBarcode()以MSI編碼類型創建一個MSI條碼,將其保存為圖像,然後在讀取器選項中指定BarcodeEncoding.MSI,使用BarcodeReader.Read()將其讀回。 使用 MSI 安裝程式發佈 BarCode 應用程式有哪些優點? MSI 安裝程式提供標準化的安裝方法,是企業部署的理想選擇。當與 IronBarcode 結合時,它們可提供回滾功能、管理安裝點、Windows Installer 服務整合,並確保在各種環境中進行可靠的安裝,同時允許開發人員選擇包含哪些元件。 條碼庫是否支援 MSI 套件中的多種條碼格式? 是的,IronBarCode 支援多種條碼格式,使其適用於各種商業應用程式。這種靈活性允許開發人員根據特定的業務需求,將不同的條碼類型整合到他們的 MSI 套件應用程式中。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 2,121,847 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:2,121,847 查看許可證 還在捲動嗎? 想要快速證明? PM > Install-Package BarCode 執行範例 看您的字串變成 BarCode。 免費 NuGet 下載 總下載量:2,121,847 查看許可證