Output Format

HTML Executable creates stand-alone EXE files with no dependency

By default, HTML Executable generates stand-alone Windows programs: your website is packed into a single .EXE file, ready to be shared with others. Moreover, this .EXE file does not require any third-party software (no Microsoft .net framework nor DLL files).

This feature has a price: the code necessary to run stand-alone EXE files takes about 6 Mb uncompressed. This is relatively small compared to the size of other web browser distributions. Anyway, this is still large for online distribution.

If size does not matter for you, you should stay with the stand-alone option. Moreover, you can compress the EXE file to make it smaller for distribution: see below.

Keep the runtime outside the EXE file

Enable this option to create EXE files that are smaller but have a dependency: they require a runtime module in order to work. For that case, we compiled the code necessary for Windows to run the EXE in a single public DLL file called the runtime module. This module is a dynamic-link library that allows publications made with HTML Executable to be run: it works like Visual Basic DLL runtimes, Adobe Flash player, Microsoft SilverLight, Java Runtime Environment, Windows Installer runtime, etc… When you start a publication EXE file, the latter will look for the runtime module and call it in order to run the publication.

Not merging the runtime module results in smaller EXE files (in this case, the code added to the .EXE file takes about 150 kb only!).

You can configure HTML Executable to copy the runtime module in the same folder as the EXE file. In that case, you must distribute the runtime module DLL along with your publication files.

Otherwise, you can also use our Setup programs for runtime modules that are available for public download and distribution.

If the runtime module is not found on the user’s computer, the publication will show a message box with instructions about how to get and install the runtime module. You can modify these instructions by clicking Edit Instructions.

To avoid extracting the runtime module to the hard disk, HTML Executable can use virtualization. However, some anti-virus programs can trigger false positives when this virtualization mode is enabled. That’s why this mode is not used by default and we recommend you to avoid it unless you can digitally sign the EXE file with your own code signing certificate. A digital signature can drastically decrease the number of antivirus false positives.

Compressing Executable files to make them smaller

If you plan to distribute your publication .EXE file on the Internet, we recommend you to compress it in order to reduce its size and download time. Several ways are possible:

Compress the final .EXE file with UPX: UPX is a free executable packer available at http://upx.sourceforge.net/ HTML Executable can call UPX itself if you enable the option.

For legal reasons, UPX is not shipped with HTML Executable. You have to download the program from http://upx.sourceforge.net/ and unzip the archive in the “UPX” subfolder, for instance in C:\Program Files\HTML Executable 4\UPX

distribute the final .EXE file in a Setup program: you can use Paquet Builder to compress your .EXE file into a Setup program, optimized for online distribution.

See Distributing Publications.

protect your EXE file with a third-party EXE compressor or protector: stand-alone executable files made with HTML Executable can be secured with third-party software protection systems.

Protect EXE file with Obsidium

Obsidium is a feature-rich professional software protection and licensing system available at https://www.obsidium.de/.

You can protect ebook EXE files generated by HTML Executable thanks to Obsidium if you follow these recommendations:

Keep publication data outside the EXE file

HTML Executable by default creates a single EXE file. However, if you have large source files, you can easily reach the EXE size limit (4 GB). In that case, Windows will be unable to run the EXE file or you can get “Out of memory” errors.

To bypass this limit, you can enable Keep publication data outside the EXE file: HTML Executable will create two files: your EXE file and a second file with the same name, but a different extension (.hedata).

For distribution, if your publication is named MYPUB.EXE, you must ship the two files MYPUB.EXE and MYPUB.HEDATA.

The companion data file (.HEDATA extension) is bound to the primary publication EXE file. If you try to replace the .HEDATA file by another one, you will get an error and the program will close.

Keep the search index data outside the EXE file

If you have a large amount of source files, the search index data can easily reach the free memory limit available for 32-bit programs (2 GB). In that case, HTML Executable is unable to keep the search index in memory and you can get an “out of memory” error when compiling the publication.

To sort this problem, enable Keep the search index data outside the EXE file. HTML Executable will store the search index in two companion files with the same name as your publication EXE, but different extensions (.searchi.dat and .searchx.dat).

For distribution, if your publication is named MYPUB.EXE, you must ship the three files MYPUB.EXE, MYPUB.searchi.dat and MYPUB.searchx.dat.

The two companion files are bound to the primary publication EXE file and they must be distributed with it. Otherwise, the search engine will not work.

Copyright G.D.G. Software 2019. All rights reserved