Sample code for 30+ languages & platforms
Visual Basic 6.0

Create Self-Extracting Executable (Windows-only)

Demonstrates how to create a Windows self-extracting EXE.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim WithEvents zip As  ChilkatZip

' AbortCheck callback method.
Private Sub zip_AbortCheck(abort As Long)
    
End Sub

' PercentDone callback method.
Private Sub zip_PercentDone(ByVal percentDone As Long, abort As Long)
    Debug.Print "Percent Done: " & percentDone
    ' Explicitly abort at 25% or greater.
    ' Remove this to allow for the HTTP download to run to completion.
    If (percentDone > 25) Then
        abort = 1
    End If
End Sub

' ProgressInfo callback method.
Private Sub zip_ProgressInfo(ByVal name As String, ByVal value As String)
    Debug.Print name & ": " & value
End Sub

private Sub ChilkatExample()

    Dim success As Long
    success = 0

    ' This example requires the Chilkat API to have been previously unlocked.
    ' See Global Unlock Sample for sample code.

    Set  zip = New ChilkatZip

    ' Initialize the zip object.  Because we're creating
    ' a self-extracting EXE in this example, the filename
    ' passed to NewZip will never actually be created.
    success = zip.NewZip("notUsed.zip")
    If (success <> 1) Then
        Debug.Print zip.LastErrorText
        Exit Sub
    End If

    ' Append a directory tree.  The AppendFiles does
    ' not read the file contents or append them to the zip
    ' object in memory.  It simply appends references
    ' to the files so that when WriteExe (or WriteZipAndClose,
    ' or WriteZip, etc.) is called, the files are compressed
    ' and added to the archive.
    Dim recurse As Long
    recurse = 1
    success = zip.AppendFiles("c:/temp/a/*",recurse)

    ' Write "sfx.exe"
    success = zip.WriteExe("c:/temp/sfx.exe")
    If (success <> 1) Then
        Debug.Print zip.LastErrorText
        Exit Sub
    End If

End Sub