B4X
B4X
Create Self-Extracting Executable (Windows-only)
Demonstrates how to create a Windows self-extracting EXE.Chilkat B4X Downloads
' Called periodically while a Chilkat method is running
' (frequency controlled by the HeartbeatMs property).
Sub zip_AbortCheck As Boolean
Return False ' Return True to abort
End Sub
Sub zip_PercentDone (percentDone As Int) As Boolean
Log("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
Return True ' abort the Chilkat method in progress
End If
Return False ' Return True to abort
End Sub
Sub zip_ProgressInfo (name As String, value As String)
Log(name & ": " & value)
End Sub
Sub ChilkatExample
Dim success As Boolean = False
' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim zip As ChilkatZip
zip.Initialize("zip")
' 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 <> True Then
Log(zip.LastErrorText)
Return
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 Boolean = True
zip.AppendFiles("c:/temp/a/*", recurse)
' Write "sfx.exe"
success = zip.WriteExe("c:/temp/sfx.exe")
If success <> True Then
Log(zip.LastErrorText)
Return
End If
End Sub