Visual C++ Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Visual C++ Examples

CkString
Byte Array
Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT / HTML Email
RSA Encryption
S/MIME
Socket
Spider
Tar
Upload
XML
XMP
Zip Compression


More Examples...
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

 

Self-Extract EXE to Temp and Auto-Run Setup Program

How to create a self-extracting EXE that extracts to a temp directory and auto-runs a setup program after extracting.

Download Chilkat C++ Libraries for VC++ 8.0 / Win32

Download Chilkat C++ Libraries for VC++ 7.0 / Win32

Download Chilkat C++ Libraries for VC++ 6.0 / Win32

#include <CkZip.h>

void ChilkatSample(void)
    {
    CkZip zip;

    bool success;

    //  Any string unlocks the component for the 1st 30-days.
    success = zip.UnlockComponent("Anything for 30-day trial");
    if (success != true) {
        printf("%s\n",zip.lastErrorText());
        return;
    }

    //  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) {
        printf("%s\n",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;
    recurse = true;
    zip.AppendFiles("c:/temp/a/*",recurse);

    //  Indicate that when the EXE is run, it should automatically
    //  extract to a temp directory.
    zip.put_AutoTemp(true);

    //  If you want the EXE to self-extract with no user-interface,
    //  add this:
    zip.put_ExeNoInterface(true);
    zip.put_ExeSilentProgress(true);
    zip.put_ExeWaitForSetup(false);

    //  Indicate that after extracting, a setup program should be run:
    zip.put_AutoRun("setup.exe");

    //  Pass these command line params to the AutoRun program:
    zip.put_AutoRunParams("-a -b -c");

    //  Write "mySfx.exe"

    success = zip.WriteExe("mySfx.exe");
    if (success != true) {
        printf("%s\n",zip.lastErrorText());
        return;
    }

    printf("EXE Created!\n");
    }

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Mail Component · XML Parser