# IPWorks OpenPGP 2020 macOS Edition

Questions / Feedback?

# SDA Module

The SDA component can be used to create a self-decrypting archive which will run natively on Windows platforms.

## Syntax

nsoftware.IPWorksOpenPGP.Sda

## Remarks

The class uses the Deflate algorithm specified in RFC 1951 for compression, and then creates a self-decrypting executable archive. This exe will bring up a dialog that will allow the user to select the target directory in which to decompress the files. There is also an optional splash screen that may be displayed before decompression. The text for this splash screen may be set with the BannerText property. You can also set the text that appears on the title bar of each dialog box using the CaptionText property.

Example (Creating a Self-Decrypting Archive)

class.ArchiveFile = "c:\test.exe"
class.RecurseSubdirectories = true
class.SourceDirectory = "c:\foo\"
class.CaptionText = "Testing SDA"
class.BannerText = "Press continue to decompress the archive."
class.CreateSDA()

class.ArchiveFile = "c:\test.exe"
class.SourceFile = "c:\foo\bar.dat"
class.CaptionText = "Testing SDA"
class.BannerText = "Press continue to decompress the archive."
class.CreateSDA()

Note: When creating a self-decrypting archive which exceeds 4 GB or more of uncompressed data or which contains more than 64K files, the class will create a 64-bit archive.

The self-decrypting archive that is created by the SDA class is a Windows application. However, there are command line options available if you wish to batch multiple files. The options are:

 Option Name Description targetpath Path to decompress the archive to. This overrides the ExtractToPath. "." indicates the current directory (if no ExtractToPath was specified and no targetpath is given, the archive is decompressed to the current directory). overwrite If set to true, the archive will automatically overwrite existing files (thus suppressing the message box asking you to overwrite or not) displaymessage If set to false, it will suppress the display of the "Extraction Complete" message after the archive has finished (this may also be accomplished by setting the CompleteMessage config setting to ""). openfile If set to false, this option will override opening the file indicated by FileToExecute. (Alternatively, set FileToExecute to ""). password The password used to decrypt the archive. If the archive is not encrypted this option is ignored. However if the archive is encrypted and no password is supplied, decompression will fail.

For example, the following suppresses all questions and message boxes, and decompress to the current directory, use the following options:

  SDAExtractor /targetpath="." /overwrite=1 /displaymessage=0 /openfile=0 /password=pass

Note that if you run the self-decrypting archive with any command line options, the pop up message box containing the BannerText will be suppressed.

## Property List

The following is the full list of the properties of the module with short descriptions. Click on the links for further details.

 ArchiveFile The name of the self-decrypting archive to create. BannerText Optional banner text to show before the self-extraction starts. CaptionText Optional caption (title) text for the self-extractor dialogs. CompressionLevel The compression level to use. ExtractToPath Optional target directory for the self-extractor. FileToExecute Optional file to execute (open) after the archive is extracted. Password An optional password for the self-decrypting archive. RecurseSubdirectories Whether or not to recurse into subdirectories during archive creation. SourceDirectory Directory to be compressed into a self-decrypting archive. SourceFile File to be compressed into a self-decrypting archive.

## Method List

The following is the full list of the methods of the module with short descriptions. Click on the links for further details.

 Config Sets or retrieves a configuration setting. CreateSDA Compresses the files and creates a self-decrypting archive. Reset Resets the component.

## Event List

The following is the full list of the events fired by the module with short descriptions. Click on the links for further details.

 Error Information about non-fatal errors. Progress Fired as progress is made. Status Shows the progress of the operation.

## Configuration Settings

The following is a list of configuration settings for the module with short descriptions. Click on the links for further details.

 CompleteMessage Message to notify user that extraction has finished normally. ExtractorStub Path to optional self-extractor executable stub. FileToExecuteParams List of parameters to pass to FileToExecute. InstallationMode This setting will install to ExtractToPath, run FileToExecute, and then remove the extracted files. LogLevel Specifies the level of detail that is logged. RequireAdminPrivs Specifies whether the created executable requires Administrator privileges. SilentExtraction Specifies whether the archive should hide all UI interaction while extracting. BuildInfo Information about the product's build. CodePage The system code page used for Unicode to Multibyte translations. LicenseInfo Information about the current license. UseInternalSecurityAPI Tells the component whether or not to use the system security libraries or an internal implementation.