Yönetilmeyen bir dll adını veren bir C# kod parçam var.Bir dll'nin varlığı nasıl sağlanır
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string pBuffer, int dwBufferLength, int dwReserved);
Bu kod, geniş bir kitleye hedefleme Başka bir uygulamada kullanılacak bir pencere şekilleri kontrol çözeltisi bulunmaktadır. Anlıyorum gibi
, DllImport
özellik, sistem üzerinde bir dll arar ve bulursa, çiftleri buna extern
fonksiyonu (çoğunlukla biliyorum C extern
işleri).
Bu dll'nin kullanıcının sisteminde bulunmasını nasıl sağlayabilirim? Uygulamamla birlikte paketlemeli miyim (Bunu nasıl yapacağımı biliyorum)? Windows * 'a eklendiği için var olacağından emin misiniz?
Ben birçok uygulama nedeniyle Windows XP ve daha eski eksik dlls çökmesini gördüm, o yüzden buna argüman güvenmiyorum *.
Bu soruyu kontrol ettiniz mi? http://stackoverflow.com/questions/2292578/check-if-a-dll-is-present-in-the-system Kabul edilen cevap, kullanıcının makinesinde DLL bulunup bulunmadığını kontrol etmek için kullanabileceğiniz kodu içerir. – Alex
Bu, XP'den başlayarak, [MSDN'de Windows/IE'nin bir parçası olarak belgelenen] işlevinin (https://msdn.microsoft.com/library/ms775125) özel bir durumudur. Kodunuzun, desteklenmeyi bıraktığı uzun süredir Windows sürümlerini çalıştırmayı beklemediğiniz sürece, bu * özel * işlevinin her zaman mevcut olması beklenebilir (ve bunun için ayrı ayrı denetleme hiçbir şey eklemez). * Genel * soru daha fazla dahil. –