The ExeNoInterface property controls whether a user-interface is displayed by a self-extracting EXE created by the Chilkat Zip component’s WriteExe method.
A self-extracting EXE can display four dialogs:
- A main dialog providing the interactive ability to select an unzip directory. The main dialog also has a progress bar. This is controlled by the ExeNoInterface property.
- A password prompt dialog, for AES encrypted EXE’s.
- A finish notifier dialog, controlled by the ExeFinishNotifier property.
- A progress monitor dialog. If the main dialog is not shown, the display of this is controlled by the ExeSilentProgress property.
This blog focuses on the ExeNoInterface property. When the self-extracting EXE (created by WriteExe) is run, it will need to display the main dialog and prompt for an unzip directory if it has no information about where it should unzip. ExeNoInterface only has an effect when the unzip-directory is provided at EXE creation time, or as a command-line argument when running the EXE. Here are the ways to do it:
- Use the AutoTemp property to indicate that the EXE should automatically choose and create a temp directory for unzipping. Using AutoTemp only makes sense if you’re using the AutoRun property to specify an application that automatically runs after extracting. Otherwise your self-extracting EXE unzips to some unknown temp directory and nothing happens — and that’s not very useful…
- Use the ExeUnzipDir property to hard-code an absolute unzip directory at EXE creation time. When you run the EXE, it will create and unzip to this directory automatically.
- Specify the unzip directory on the command line using the "-unzipDir " command line argument.
Also, the "-pwd " command line option can be used to specify the password on the command line. This prevents the password prompt from displaying…