.NET Core C#
.NET Core C#
Create Self-Extracting Executable (Windows-only)
Demonstrates how to create a Windows self-extracting EXE.Chilkat .NET Core C# Downloads
// AbortCheck callback method.
public void handleAbortCheck(out bool abort)
{
// Application code goes here.
}
// PercentDone callback method.
public void handlePercentDone(int pctDone, out bool abort)
{
// Application code goes here.
}
// ProgressInfo callback method.
public void handleProgressInfo(string name, string value)
{
// Application code goes here.
}
private void ChilkatExample()
{
bool success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Chilkat.Zip zip = new Chilkat.Zip();
Chilkat.Zip.AbortCheck abortCheck = new Chilkat.Zip.AbortCheck(handleAbortCheck);
zip.setAbortCheckCb(abortCheck);
Chilkat.Zip.PercentDone percentDone = new Chilkat.Zip.PercentDone(handlePercentDone);
zip.setPercentDoneCb(percentDone);
Chilkat.Zip.ProgressInfo progressInfo = new Chilkat.Zip.ProgressInfo(handleProgressInfo);
zip.setProgressInfoCb(progressInfo);
// 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) {
Debug.WriteLine(zip.LastErrorText);
return;
}
// 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.
bool recurse = true;
zip.AppendFiles("c:/temp/a/*",recurse);
// Write "sfx.exe"
success = zip.WriteExe("c:/temp/sfx.exe");
if (success != true) {
Debug.WriteLine(zip.LastErrorText);
return;
}
}