Рейтинг@Mail.ru

Распаковка файла из ресурсов в директорию приложения

Print Friendly, PDF & Email

Часто в приложении бывает необходимо использовать объёмные ресурсы, например, динамические библиотеки. Их можно включить в ресурсы приложения в сжатом виде. .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
Теги :

Поблагодарить автора:

Поделиться

Print Friendly, PDF & Email
  1. Arduino это...
  2. Arduino это...
  3. Arduino это...
Отличный способ начать знакомство с электроникой, микроконтроллерами и программированием!
Замечательное средство для создания собственных электронных устройств, которые пригодятся в быту или для развлечения!
Уникальный конструктор, для которого разработаны десятки совместимых датчиков и модулей!
next
prev