Mira aca te de un ejemplo super simple para empaquetar archivos, lo arme en 5 min asi que no pretendas nada super, pero como base esta bien.
Option Explicit
Private Sub Form_Load()
Dim pbg As New PropertyBag
SaveFile App.Path & "\text1.txt", StrConv("Test File 1", vbFromUnicode)
SaveFile App.Path & "\text2.txt", StrConv("Test File 2", vbFromUnicode)
pbg.WriteProperty "File1", GetFile(App.Path & "\text1.txt")
pbg.WriteProperty "File2", GetFile(App.Path & "\text2.txt")
Kill App.Path & "\text1.txt"
Kill App.Path & "\text2.txt"
SaveFile App.Path & "\Pack.dat", pbg.Contents
Set pbg = Nothing
Set pbg = New PropertyBag
pbg.Contents = GetFile(App.Path & "\Pack.dat")
SaveFile App.Path & "\text1.txt", pbg.ReadProperty("File1")
SaveFile App.Path & "\text2.txt", pbg.ReadProperty("File2")
Kill App.Path & "\Pack.dat"
End Sub
Private Function GetFile(sFile As String) As Byte()
Dim iFile As Long
iFile = FreeFile
Open sFile For Binary Access Read As iFile
ReDim GetFile(LOF(iFile) - 1)
Get iFile, , GetFile
Close iFile
End Function
Private Sub SaveFile(sFile As String, bvData() As Byte)
Dim iFile As Long
iFile = FreeFile
Open sFile For Binary Access Write As iFile
Put iFile, , bvData
Close iFile
End Sub