DLL manquantes lors de la création d'un programme d'installation MSI
Lors de la création d'un installateur MSI, vous pouvez rencontrer l'exception suivante :
2025-01-27 16:57:23 - Erreur : IronBarCodeDetection.Exceptions.IronBarcodeDetectionException : Une erreur inattendue s'est produite lors de l'exécution de la bibliothèque IronBarcode Machine Learning. Veuillez fournir des détails à support@ironsoftware.com pour une résolution. ---> System.TypeInitializationException : L'initialiseur de type pour 'Microsoft.ML.OnnxRuntime.NativeMethods' a levé une exception. ---> System.NullReferenceException : La référence d'objet n'est pas définie à une instance d'un objet.
à Microsoft.ML.OnnxRuntime.NativeMethods..cctor()
--- Fin de la trace de la pile d'exceptions internes ---
à Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
à Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
à IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
--- Fin de la trace de la pile d'exceptions internes ---
à IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
à IronBarCodeDetection.BarcodeDetect.DetectBarCode()
à Iron.BarCode.Extensions.cuewjf.ehxbbs(BarcodeDetect tlxjvd)
à Iron.BarCode.Extensions.cuewjf.ehxbbr(AnyBitmap tlxjvd, Double tlxjve)
à Iron.BarCode.Extensions.cuewjo.mvanli(AnyBitmap tlxjvd, Double tlxjve)
à Iron.BarCode.Extensions.cuewjo.mvanlf(Image`1 tlxjvd)
à Iron.BarCode.Extensions.cuewjo.mvankh(Object tlxjvd)
à IronBarCode.BarcodeReader.Read(AnyBitmap inputImage, BarcodeReaderOptions barcodeReaderOptions)
à WindowsFormsBarcode.Form1.btnBrowse_Click_1(Object sender, EventArgs e)
2025-01-27 16:57:23 - Message d'erreur : Une erreur inattendue s'est produite lors de l'exécution de la bibliothèque IronBarcode Machine Learning. Veuillez fournir des détails à support@ironsoftware.com pour une résolution.
2025-01-27 16:57:23 - Exception interne : L'initialiseur de type pour 'Microsoft.ML.OnnxRuntime.NativeMethods' a levé une exception.
2025-01-27 16:57:23 - Trace de la pile de l'exception interne : à Microsoft.ML.OnnxRuntime.SessionOptions..ctor()
à Iron.BarCode.Extensions.xjtagg`1..ctor(Stream dfepdx, SessionOptions dfepdy)
à IronBarCodeDetection.BarcodeDetect.PredictObject[TModel](Stream modelStream)
Raison
Cette erreur se produit car la bibliothèque ne peut pas trouver les fichiers requis pour fonctionner correctement.
Solution
Pour garantir le bon fonctionnement du programme d'installation 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é dans MsiInstallerSample\MsiInstallerSample\bin\ReleaseIronBarcodeInterop.dll: Situé dans MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\nativeReaderInterop.dll: Situé dans MsiInstallerSample\MsiInstallerSample\bin\Release\runtimes\win-x86\native
Assurez-vous que les trois fichiers sont ajoutés à votre projet d'installation pour éviter cette exception.

