Распаковка файла из ресурсов в директорию приложения
Published in Полезные советы
Часто в приложении бывает необходимо использовать объёмные ресурсы, например, динамические библиотеки. Их можно включить в ресурсы приложения в сжатом виде. .NET имеет встроенный архиватор GZip. Его можно использовать, например, так:
'''''' Проверяет наличие необходимых DLL в текущей директории и при отсутствии создаёт. ''' Private Sub CheckDlls() Dim dlls As New Dictionary(Of String, Byte()) From { {"myLib1.dll", My.Resources.myLib1}, {"myLib2.dll", My.Resources.myLib2} } For Each dll In dlls If (Not IO.File.Exists(dll.Key)) Then Using compressed As New IO.MemoryStream(dll.Value), gzStm As New IO.Compression.GZipStream(compressed, IO.Compression.CompressionMode.Decompress), decompressed As IO.FileStream = IO.File.Create(dll.Key) gzStm.CopyTo(decompressed) End Using End If Next End Sub