News and Changelog

What's new in our PHP compiler software ExeOutput for PHP

Version reference: 2021.0 released on April 27th, 2021

 Download ExeOutput for PHP


Version 2021.0 - April 27th, 2021

  • New support for PHP 8. Nevertheless, the default PHP version used in ExeOutput for PHP remains 7.3. Start the Web Update utility to install PHP 8 or any other PHP version you may require.
  • Updated to CEF 89.0.15 which includes Chromium 89.0.4389.90.
  • Kiosk printing (silent print) is now handled. New Printer component property: EnableKioskPrint.
  • New global variables KioskPrintEnabled, KioskPrintCopies and PrintPreviewEnabled to control kiosk printing and print preview at runtime.
  • New global variable HEMyDocDirectory that returns the path to the current user's "My Documents" folder.
  • New "Rendering Engine" page in ExeOutput: you can now choose a CEF version that still handles Flash (but this is not recommended as Flash is discontinued).
  • The Chromium engine properties (rendering engine) were moved from User Interface to the new "Rendering Engine" page.
  • Old Flash content can still be played with Ruffle (our demonstration has been updated to show how to use Ruffle) or if you choose the CEF version 87 in "Rendering Engine" (and provide the correct pepper Flash player DLL component, not shipped with ExeOutput for PHP).
  • PHP runtimes updated to PHP 8.0.3, 7.4.16, 7.3.27.
  • Upgraded Adminer to 7.8, MariaDB to 10.4.18.
  • A New Code Igniter sample is available.
  • Improvements to the automatic configuration of the MariaDB database server. A log is now displayed.
  • If an error occurs and the PHP process returns an empty string, ExeOutput for PHP now displays the standard error page instead of a white page. The error page can be customized in the "Dialog Boxes" tab of ExeOutput.
  • "DisableDragDrop" in "Rendering Engine" now also disables dropping URLs.
  • Improved Web Update utility.
  • Improvements for window.resizeTo() on high DPI screens.
  • Fixed: "Always minimize to tray" was not working.
  • Fixed: target=_blank and heexternal no longer work in popup windows.
  • Fixed HEScript PrintPDFFile was not accepting parameters.
  • Fixed: AutoShowUrls was ignored if URLs begin with https.
  • Fixed "Abstract Error" if the end user clicks the splash screen in order to close it.
  • Fixed: DefaultText was not working (for the status bar).
  • Fixed: HEScript event OnNavigateComplete was not working.
  • Fixed: "Do not cache CEF files locally" did not work as expected.
  • Fixed: rare External exception 80000003 error.
  • Fixed JavaScript prompt() issue that now returns null and not an empty string if the end user cancels the prompt.
  • Updated documentation and samples.
  • Minor improvements.

Version 2020.2.1 - July 2nd, 2020

Fixed a possible freezing problem while activating the software.

Version 2020.2 - June 15th, 2020

  • Compatible with Windows 10 May 2020 update (code 2004). Rebuild your application EXE files so that they can work properly on the last Windows 10 update.
  • Updated to CEF 83.3.12 which includes Chromium 83.0.4103.97.
  • New Rendering engine property: PHPOverrideMimeType. This lets you enable or disable whether PHP can set the Mime type for the data stream passed to the rendering engine. Turn this property to False if some downloads generated by your PHP scripts (such as Excel files) fail.
  • We now have auto-play enabled by default for HTML5 media player components. To make your video start automatically, just add autoplay to the HTML code, as in this example: <video loop autoplay controls controlsList="nodownload"><source src="/assets/myvideo.webm"></source></video>
  • PHP runtimes updated to PHP 7.4.7, 7.3.19, 7.2.31.
  • Fixed: "Always minimize to tray" was not working.
  • Minor improvements.

Version 2020.1 - April 2nd, 2020

  • New sample that shows how to protect PHP desktop apps and add licensing options for selling apps
  • Updated to CEF 80.0.8 which includes Chromium 80.0.3987.132.
  • New Samples dialog box to load samples directly without navigation.
  • External files are now processed in a different thread, so that the main UI does not freeze when copying very large files.
  • Popups now appear as new windows in the taskbar.
  • New option in "Main Window": Popups stay on top.
  • Added DisableAlertDialogWorkaround option for disabling the status bar flicker (if the bar is hidden) related to JavaScript dialog boxes.
  • Fixed: PHP 5.6 was not working on Windows 10.
  • Minor improvements.

Version 2020.0 - February 3rd, 2020

  • New support for PHP 7.4. However we stick with PHP 7.3 in the main distribution: use the Web Update utility to install PHP 7.4 if you need it.
  • Updated to CEF 78.3.9 which includes Chromium 78.0.3904.108.
  • Improved performance of applications, especially for detecting non-compiled virtual files.
  • New Print Preview when end users choose to print the current web page.
  • New option to disable the Print Preview in the Printer component: EnablePrintPreview.
  • New improved Keep Files External feature: in the File Manager, you can configure files and even folders that will be kept outside the application EXE file (not compiled and virtualized). ExeOutput for PHP will automatically copy them to the "Data" subfolder for you.
  • External PHP files can even be encoded so that their contents remain secret, and they can only be read by the application.
  • Keeping large "vendor" or "framework" directories outside the EXE dramatically improves the performance of huge applications, especially ones powered by frameworks such as Laravel.
  • Improved support for secondary and pop-up windows: pop-up windows are now skinned like the main window. You can access them with JavaScript methods, window.resizeTo, window.moveTo... It is even possible to export the content of a pop-up window to PDF with window.exportPDF().
  • New Open Link In New Window command in the right-click context menu: this lets your end users open webpages in secondary windows. This option can also be disabled in the Context Menu component thanks to the new property: DisableOpenLinkNewWindow.
  • You can now configure properties for folders (files inside the folder will inherit the properties of their parent folder).
  • Configure PHP error logging directly in ExeOutput's PHP Debugging page: PHP errors can be stored to the file "php_errors.log" in the same folder as the EXE instead of message boxes.
  • Better support for multiple monitors (especially with different DPI per monitor on Windows 10).
  • Introduction of a router event to rewrite all URLs (similar to mod_rewrite in Apache): there is a new option "Enable custom router handler in HEScript (OnRouterURL event)" in PHP Main Settings and you can use the OnRouterURL event to rewrite URLs. Read more about URL rewriting and redirection rules in ExeOutput for PHP.
  • New Rendering Engine property: DisableDragDrop to disable drag/drop operations from other applications.
  • Easily deploy your applications thanks to the new Zip archive creation: ExeOutput for PHP scans for all files used by your application (EXE file, Data and MySQL subfolders) and compress them into a Zip archive. Just deploy the Zip archive: final users extract the Zip archive and launch the application immediately.
  • The "Custom folder name for storage folder" is now used for applications with the portable mode activated.
  • Improved portable mode and storage of local CEF data files.
  • Console applications now can use two global variables: HEPublicationFile and HEPublicationPath to retrieve the full EXE name and its path.
  • PHP runtimes updated to PHP 7.4.2, 7.3.14, 7.2.27.
  • Paquet Builder will now package the "MySQL" folder too in your app's installer (of course if you use the portable MySQL server in your project).
  • Paquet Builder is now configured to install applications to the local user's AppData folder instead of the Program Files directory. This is important if your PHP application writes files to some directories like some PHP frameworks do.
  • New option to wait some seconds for the initialization of the portable MySQL server. This avoids possible initial connection problems between the MySQL server and your PHP app.
  • You can now open the MySQL server's log directly from ExeOutput for PHP to check for possible errors.
  • Improved desktop notifications after the build.
  • The window maximized state is now properly restored if "saving user defined window position" is enabled.
  • Set memory_limit = 256 MB to default PHP.INI templates
  • New resource string for localization: SOpenLinkNewWindow.
  • Fixed some redirection problems in our scheme handler.
  • Fixed "PHP ERROR: System Error. Code: 233" that occurred on the five-hundredth call of the same page by any method (reload, Ajax, cron...)
  • Fixed: console apps (PHP in CLI mode) now return the correct exit code.
  • Fixed possible zoom in/out problems in applications.
  • Fixed access violation if you do not close the menu editor prior exiting the UI editor.
  • Fixed random "Cannot focus a disabled or invisible window" error.
  • Fixed focus lost in editable fields if all components are removed.
  • Fixed incorrect log entry "PHP error: FOUND" when an HTTP redirection was used.
  • Fixed: files with no extension were ignored by the Live Update feature.
  • Fixed: some popup windows were not showing again once displayed and closed.
  • Fixed error "Changing from current encoding to specified encoding is not supported" at startup on some non-English computers.
  • Fixed: Paquet Builder was not correctly configured to store the paths of files in the "Data" subfolder.
  • Updated portable MariaDB MySQL server (10.4) and adminer.
  • New samples based on Laravel or CodeIgniter available. Updated WordPress sample to use the new External Files feature.
  • Improved documentation with new theme and topics.
  • Updated general demonstration with samples for new features.
  • Minor improvements.

Version 2019.1 - April 18th, 2019

  • Updated to CEF 73.1.12 which includes Chromium 73.0.3683.75.
  • PHP runtimes updated to PHP 7.3.4, PHP 7.2.17, 7.1.28 and 5.6.40.
  • ExeOutput for PHP now offers a secure internal protocol to serve files: https://heserver/
  • New PHP Settings option: Use secure HTTPS for internal protocol (https://heserver/ instead of http://heserver/)
  • Improved behavior on very large screens with high DPI settings.
  • ExeOutput for PHP now also scans dependencies of dependencies for PHP extensions. Especially useful for intl extension.
  • When you add files to your project, ExeOutput for PHP now checks that added files are not already in the source list to avoid duplicates.
  • New EnableMediaStream property for the Chromium rendering engine, allowing WebRTC.
  • WebRTC is now possible: a demo sample shows you how to record audio files with end user's microphone.
  • Improved Status Bar Auto Show URLs option: it has now four new values HideAllURLs, HideExternal, HideInternal and ShowAll.
  • New property for Rendering Engine component: ForbidDownloadMimeType. This lets you indicate which mime types resources should not be allowed for download. For instance, if you enter audio/mp3;audio/ogg, MP3 files will not be allowed for download (but can still be played by the internal player).
  • Dropped global variable exointdownload, replaced by ForbidDownloadMimeType.
  • Dropped "external files" option in File Properties, because ExeOutput for PHP automatically looks for external files when a requested resource is not found among compiled files.
  • Added support for proxy server: the documentation shows you how you can configure a proxy at runtime for your applications to connect to the Internet.
  • New global variable HEStartCurrentDirectory that stores the current working directory when the EXE is started.
  • New HEScript function: ExecuteLiveHEScript that supports compiling and running HEScript code at runtime.
  • Fixed: the absolute path for the "Data" sub folder option did not work with PHP 7.3.
  • Fixed an issue with typing in text fields.
  • Fixed access Violation errors with canceled AJAX calls.
  • Fixed "Switch from current encoding to specified encoding not supported" bug at startup for some computers.
  • Fixed: the password input field gets the focus in the corresponding dialog box.
  • New demo sample: how to zip files and download generated zip archive.
  • New skins available.
  • Updated documentation.
  • Updated MariaDB MySQL server and Adminer packages.
  • Minor improvements.

Version 2019.0 - January 8th, 2019

  • Support for PHP 7.3. This is the sole PHP runtime that is now shipped in the main distribution. Please use the Web Update utility to install additional PHP versions.
  • PHP runtimes updated to PHP 7.2.13, 7.1.25 and 5.6.39.
  • Support for Chromium 71 and CEF3 branch 3578.
  • Improved PHP 7.x compatibility with virtual files. Some frameworks such as CodeIgniter now detect all virtual files as expected.
  • Improved support for well-known PHP projects: Open Source Point of Sale and phpBB can now be run with ExeOutput for PHP 2019.
  • Fixed exec(), shell_exec(), system() problems with some commands. For instance, this one works now: echo system( 'echo | C:\WINDOWS\System32\wbem\wmic.exe path win32_computersystemproduct get uuid');
  • Added support for Obsidium protection API. The package must be downloaded and installed with the Web Update utility.
  • New option "Enable third-party Obsidium software protection API" in Output Settings.
  • The internal browser now accepts URLs that contain two slashes.
  • Improved audio and video playing with some JS-based players.
  • By default, internal resources cannot be downloaded anymore (for instance, Download menu on default HTML5 video player). You can allow downloads by setting the global variable exointdownload to 1 at runtime (search in documentation for example).
  • "Full Rebuild" now recompresses all files even if they were cached.
  • Fixed: the compilation's Cancel button did not work in some cases.
  • Product and file versions are now checked against valid format (X.X.X.X).
  • Fixed: unchecking "Activate TEST mode" now forces a full rebuild.
  • New resource string: SMySQLServerStopError. Fixed: the corresponding MySQL server errror message wasn't translated before.
  • Can now copy database host to clipboard (MySQL server).
  • Fixed crash problem with some CPUs for multi-core compression.
  • Improved virtual file system.
  • New Windows 10 skins.
  • Updated documentation.
  • Updated MariaDB MySQL server, Adminer, UPX, skin editor packages.
  • Several internal improvements.

Compatibility with 2018.x projects:

When you load a project made with 2018.x, ExeOutput for PHP 2019 may ask you to download the missing PHP runtime files. In fact, only PHP 7.3 is included in the main distribution of ExeOutput for PHP 2019. Additional PHP versions (5.6, 7.1, 7.2) can be automatically downloaded and installed with the Web Update utility.

Version 2018.3 - October 2nd, 2018

  • Fixed: two Content-Type headers issued by PHP.
  • Virtual files (including PHP files) are now hidden by default in open and save dialog boxes.
  • New security option: Do not hide virtual files in open/save dialog boxes.
  • Removed default content-encoding set to UTF-8 in PHP.INI templates.
  • Fixed: the cron error message that could occur sometimes is no more displayed. Instead, the error will be logged if you enable debug log.
  • PHP runtimes updated to PHP 7.2.10, 5.6.38 and 7.1.22.
  • Minor improvements.

Version 2018.2 - September 17th, 2018

  • New multi-threaded compression and cache system: ExeOutput for PHP is now blazzing fast for creating PHP applications.
  • ExeOutput for PHP now only recompresses modified files when compiling: when you update one source file, the EXE is instantly recreated, without having to recompress all sources files. Compilation time is highly decreased!
  • ExeOutput for PHP now caches shared CEF runtime files locally to speed up application loading.
  • New Deployment option: do not cache CEF files locally (this will increase app loading delay but save disk space).
  • Support for Chromium 69 and CEF3 branch 3497.
  • A panel bearing a "Please wait" message is now displayed while the CEF engine is loading the contents at startup (instead of a blank window). The text can be modified with the new resource string named SCEFPleaseWait.
  • New "Hide system menu" option in Skin Properties: this lets you remove the system icon in the main window's title bar.
  • New Timer (cron jobs) UI component: you can trigger actions regularly such as running PHP code, calling HEScript functions... Refer to the "Timer / cron jobs" topic in the documentation for further explanation and demo.
  • New MP3 support: MP3 files are now played natively.
  • New action for UI controls: you can now run PHP code (from UI buttons, menu items, ribbon, timers...).
  • New possibility to have virtual PHP session files by updating the PHP.INI to store session files in a virtual folder given by %EXOPHPVIRTUALTEMP%. See the "PHP Sessions" topic in the documentation.
  • PHP runtimes updated to PHP 7.2.9 and 7.1.21.
  • New option to create a pure browser application: no other pre-defined UI item (GUI application) is added, except the browser component.
  • New option to keep CEF runtime files outside the EXE file. However, they must be installed separately.
  • New possibility to load the splash screen's image from an external file.
  • Tray Icon: ability to change the icon at runtime thanks to the new HEScript function named TrayChangeIcon. A sample is available in the documentation.
  • Added Windows color selection dialog box (TColorDialog) in HEScript.
  • The error message box displayed in case of PHP errors can now be closed with the system's close button and not only with the Yes/No buttons.
  • New AJAX demo in the Chromium demo application.
  • Fixed: focus problems with TAB and ALT+TAB in PHP applications.
  • Fixed: some command line switches for PHP applications were not working (page, ignorepos...)
  • Fixed: UI editor issue on multimonitor screens.
  • System DLL files are now marked as hidden in the File Upload dialog box.
  • Removed ShowPopup HEScript function.
  • Updated HEScript script and virtualization engines.
  • Updated documentation.
  • Minor improvements.

Version 2018.1 - March 8th, 2018

  • PHP runtimes updated to PHP 7.2.3, 7.1.15 and 5.6.34.
  • Support for Chromium 64 and CEF3 branch 3282.
  • It is now possible to show a splash screen with a progress bar while the application is loading.
  • New option in Loading Screen: Replace initialization dialog box by the splash screen combined with a progress bar.
  • You can now customize the appearance of the splash screen's progress bar.
  • New ExecutePHPScript HEScript function that executes PHP code and returns the output of PHP.
  • Improved: the splash screen appears sooner.
  • The TImage component can now trigger actions in the UI editor. Useful if you want to let end users click on your logo and open an external URL for instance.
  • Fixed: "Unexpected launch error" at startup under some circumstances.
  • Fixed: some HTTP header redirections in PHP were not correctly handled.
  • Fixed: empty PHP.ini when creating a project and "Activate TEST mode" option is not saved.
  • Fixed: incorrect string protection identifier count after you removed one string.
  • Fixed: clicking help could sometimes freeze the GUI.
  • Updated documentation.
  • Updated PHP samples.
  • Minor improvements.

Version 2018.0 - February 1st, 2018

  • Support for PHP 7.2 and new libsodium encryption extension.
  • Support for Chromium 63 and CEF3 branch 3239.
  • Visual C++ runtimes are now integrated, so no more VC++ DLL dependency is required for PHP 7.x and 5.6. There is an option to disable this if you want.
  • ExeOutput for PHP now automatically scans selected PHP extensions for all dependencies and then includes them in the final EXE (or copies them to the proper folder). For instance, cURL dependencies are now automatically included, so we removed the manual option to include DLL dependencies.
  • Improved support for complex paths in PHP require and include commands.
  • New TImage component available in the UI editor, allowing you to insert images and logos in the interface of your apps. A new help topic is available with a tutorial.
  • Improved video and audio seekable support.
  • Improved progress bar behavior while compressing CEF runtime files.
  • Improved behavior of compiled PHP apps on multiple monitor setups. Be sure to disable "Always center the window" option in old projects.
  • Version information format (file version and product version) is now checked.
  • New option to create custom HTTP headers for requests. A new help topic is also available with sample code.
  • JavaScript command window.close is now working in HTML dialog boxes such as the About box. We recommend you to reset internal dialog boxes of your old projects when you load them in ExeOutput for PHP 2018.
  • Fixed random executable startup failures and other related memory errors.
  • Fixed: PHP opcache wasn't enabled in PHP.INI for PHP 7.1.
  • Improved support for PHP commands exec() and system(). The "Unable to fork" problem has been fixed too. You can now run EXE and batch files directly with PHP exec(). A new help topic is also available with sample code.
  • Added fastcgi.impersonate = 1 by default to PHP.INI.
  • Improved virtual file system.
  • Improved general Chromium demo.
  • Updated documentation.
  • Updated PHP samples.
  • Several internal improvements.

Compatibility with 2.x projects

After loading your old projects in ExeOutput for PHP 2018, we recommend you to:

  • reset internal dialog boxes. To do so, click Reset in Application Settings => Dialog boxes.
  • disable the "Always center the window" option in Application Settings => Main Window.

Version 2018 does not provide support anymore for Windows XP and Vista platforms. You need ExeOutput for PHP 2 to make Windows XP and Vista compatible PHP apps. Both versions (2018 and 2) can be installed on the same computer.

Version 2.2.1 - November 8th, 2017

  • Fixed: file properties were not saved.
  • Improved exclusion list for filenames such as index.php.bak. Click Reset in Environment Options / Exclude Files to add new exclusion filters to existing projects.
  • Updated to PHP 7.1.11 and PHP 5.6.32.
  • New PHP sample: create and view PDF in your PHP app.
  • Minor improvements.

Version 2.2.0 - October 23rd, 2017

  • Improved high DPI support of ExeOutput for PHP: UI items are properly scaled according to monitor DPI, new vector graphics...
  • Updated to PHP 7.1.10.
  • HTML5 audio and video seek support.
  • New possibility to define if an extension is a ZEND extension.
  • Added support for Ioncube PHP encoder.
  • Improved popup behavior.
  • Popups display webpage titles now.
  • Updated virtual file system engine.
  • ExeOutput and apps now properly remember last window position on dual monitors.
  • Developer Tools are no more compiled into the EXE if the option is not enabled (decreasing final EXE size).
  • New HEScript Function: PrintPdfFile. Lets you export the current webpage to a PDF file silently.
  • Confirm, prompt and alert JS functions are now handled by ExeOutput and not CEF, allowing proper skin rendering.
  • Improved Live Update default extension list: wildcards are now supported, allowing the exclusion of backup files with extensions such as *.~*
  • Fixed: dual monitor display issues.
  • Fixed: the about box can appear blank sometimes.
  • Fixed: can't seek webm video in exe.
  • Fixed: NGHTTP2.DLL requirement for cURL (PHP 7.1 only).
  • Fixed: random access violation error message in PHP.
  • New cURL sample added to the general demo.
  • New cURL topic in online documentation.
  • Updated documentation.
  • Minor improvements.

Version 2.1.0 - May 25th, 2017

  • Updated to PHP 7.1.5 and PHP 5.6.30.
  • Chromium Embedded Framework updated: Chromium version 56.0.2924.76 - CEF 3 branch 2924.1570.
  • New feature: auto-increment version number during build process.
  • Excluded files now bear a red cross icon in File Manager.
  • New HEScript Function: PrintPdf.
  • Improved UI ribbon design with new TscToolGroupPanel component.
  • Improved behavior of heopenext:// protocol.
  • FIXED: About box and error message settings were not saved.
  • FIXED: importing system HTML page from XML resulted in a blank page.
  • FIXED: some DLLs could not be properly imported with HEScript engine.
  • Removed unnecessary Comments field from EXE version info.
  • Updated documentation.
  • Minor improvements.

Compatibility: in HEScript, removed useless parameters of PrintPages.

Version 2.0.0 - February 18th, 2017

  • Support for multiple versions of PHP: from 5.4 to 7.1. We still support Windows XP so we kept PHP 5.4, the last version that officially runs on this OS.
  • Chromium engine upgraded to Chromium Embedded Framework version 3 - Chromium version 51.0.2704.84 - CEF 3 branch 2704.1427, with multithreading support, offering an HTML5-compliant Web browser.
  • Ability to keep Windows XP compatibility for your applications: if the Rendering Engine's WindowsXPCompatible property is set to True, ExeOutput for PHP will use Chromium engine version 49 and CEF 3 branch 2623, the last ones that officially support Windows XP. Be sure to run the Web Update utility to download the Windows XP compatibility pack so that compilation files are available.
  • PHP CGI is now directly used as an external process contrary to the old SAPI method used in ExeOutput 1.x. This brings several advantages: PHP is separated from the UI process, giving more stability and responsiveness. If the PHP process crashes, a new one is started if you refresh the webpage. Your application itself doesn’t crash.
  • Full integration between PHP and Chromium rendering engine: AJAX, cookies, file upload and download dialog boxes, custom request and response HTTP headers, Developer Tools…
  • New console application (command-line or CLI applications) generation: you can turn PHP scripts into stand-alone EXE files without any PHP dependencies.
  • ExeOutput 2 still generates one single EXE file for distribution. Due to the size of the Chromium and PHP distributions, the EXE overhead’s size is near 30 MB.
  • New UI editor to create customized toolbars, menu bars, ribbons… Associate actions to controls, define their properties...
  • New skin engine and option not to use any skin at all (Windows look).
  • Better support for PHP frameworks such as Laravel, CodeIgniter, Fat-Free...
  • Can include a portable MySQL server (MariaDB) to work with your compiled PHP applications. The MySQL server is managed by the application itself without required user action.
  • Export to PDF option in addition to Print.
  • Support for OPCache and XDebug PHP extensions.
  • Windows UAC option: EXE files can now request administrative rights.
  • SHA256 code signing is supported for recent Windows versions.
  • Support for Paquet Builder 3 in order to make Setup packages.
  • Improved built-in PHP.INI editor, added search support.
  • ExeOutput for PHP 2 can now run complex PHP projects such as WordPress, phpmyadmin, Adminer and so on (contrary to ExeOutput 1.x).


  • We dropped support for Trident engine. For Windows 10, Microsoft ended development of Internet Explorer and its associated Trident engine (except security fixes). Currently, they don’t provide a way to implement the same engine as Microsoft Edge in legacy Win32 applications. It is said this could change in the future. When importing an ExeOutput 1.x project, the engine is automatically set to Chromium.
  • Custom toolbar buttons and menus from ExeOutput 1.x projects can’t be imported in ExeOutput 2.
  • New skin engine: old skins are no more compatible. ExeOutput 2 comes with a new set of skins. A new skin editor is also available.
  • Dialog boxes in HTML format are automatically replaced.
  • Macros script has been removed.

A backup in Zip format with modified data is created in the same folder as the EXOP project file when you import an ExeOutput 1.x project.

Version 1.7.0 - January 28th, 2013

  • Switched to the latest PHP version available: 5.3.21.
  • Added support for Chromium developer tools in Chromium applications. You can now use the chromium debugging tools (when activated, right click on a page and choose "Show Developer Tools"). This is an experimental feature.
  • Applications can now automatically load external resource files (not compiled into the EXE file): you can for instance have image and media files outside the EXE file (in the same folder or a subfolder). If an HTML file references image1.png, the application will look for the image1.png file into its compiled data; if it is not found, it will try to locate it in the same folder as the EXE file (depending on the URI) and load it.
  • Added "External Files" support for Chromium applications.
  • Applications now offer optical zoom options (in Navigate menu: Zoom In, Zoom Out and Reset Zoom).
  • New "Exclude Folders" option in File Manager: you can now exclude entire folders for the source file list update.
  • Added JavaScript internal editor + syntax highlighting.
  • The code blocks panel can now be collapsed in the code editor.
  • Updated documentation, online version available at
  • Fixed missing dialog boxes bug in "Localization" page.
  • Fixed global password bug (when global password was only containing digits).
  • Improvement: "Change default homepage" now accepts homepages in subfolders.
  • New HEScript functions: SetOpticalZoom and GetOpticalZoom.
  • New resource strings: SZoomIn, SZoomOut, SResetZoom.
  • Updated skin engine, PHP engine, scripting engine and internal compiler.
  • Minor improvements.

Version 1.6.1 - December 3rd, 2012

  • Updated internal Chromium engine: CEF version 1.1180.832 - Update to Chromium version 21.0.1180.91.
  • Switched to the latest PHP version available: 5.3.19.
  • Fixed popup flickering problems in applications with Trident engine.
  • Fixed "Invalid Document: unexpected text in file prolog at position 1" bug when loading projects on some computers.
  • Fixed possible corruption bug when saving projects.
  • Chromium engine: Removed support for HTML5 audio & video tags. Added support for Flash objects (see general demonstration).
  • Updated skin engine.
  • Updated documentation.
  • Minor modifications.

Version 1.6.0 - November 3rd, 2012

  • Added support for Windows 8 and Trident shipped with Internet Explorer 10.
  • Switched to the latest PHP version available: 5.3.18.
  • Modified EXE structure so that executable files made with ExeOutput for PHP can be compressed with EXE packers like UPX, or protected with third-party EXE protection software.
  • New global variable exocustomheader that allows you to send custom headers to remote servers. See the documentation for use.
  • Now you can choose an HTML page as index page.
  • Improved support for PHP frameworks: CodeIgniter, Silex, Laravel, Kohana. Detailed topics are available in the documentation about getting started with these frameworks.
  • Added custom 404 error handler.
  • New splash screen options: faster display, more image formats handled such as PNG, BMP, GIF, JPEG, TIF.
  • New support for UPX compression: EXE files can be compressed directly when compiling them. UPX is not shipped with ExeOutput for PHP and can be downloaded with the Web Update utility.
  • New option to define the default charset sent by the internal server to the internal browser.
  • New find and search options in the built-in PHP editor.
  • New "code blocks" feature in the built-in PHP editor: it lets you save and insert your favorite PHP code snippets.
  • Fixed POST problems with Chromium engine.
  • Fixed "Invalid Document: Unexpected text in file prolog at position 1" error when loading a project.
  • Fixed UTF-8 encoding problems.
  • Fixed "Only one instance of the application can be run at a time" problem with Chromium engine.
  • Fixed problem with incorrect PHP.INI storage.
  • Fixed progress bar visibility in Chromium.
  • Fixed HEScript ParamStr function.
  • Recognizes more homepages like index.php => index.htm => index.html => index.xhtml when a URL without filename is used.
  • Updated scripting engine, skin engine, XML internal engine.
  • New skins: Office 2013 Blue, Win8, Win8_Ext.
  • Lots of internal improvements.
  • New improved documentation and online version available


  • Applications made with ExeOutput for PHP require Windows XP SP3 at least.
  • Runtime modules are now deprecated: ExeOutput for PHP always builds stand-alone applications. In order to generate smaller EXE files, it is now possible to enable compression with UPX.

Version 1.5.0 - March 8th, 2012

Support for Chromium engine

  • New additional HTML rendering engine available based on the Google's Chromium project (WebKit + V8 JavaSript engines). Applications made with ExeOutput for PHP can now have native support for HTML 5 and CSS 3. This was made possible thanks to the Chromium Embedded Framework (CEF) project.
  • You can switch between Chromium or Trident (Internet Explorer) engines without creating a different project.
  • When using the Chromium engine, ExeOutput for PHP generates single and stand-alone EXE files. They can be compressed with an EXE packer like UPX (not provided).
  • Chromium support remains experimental.
  • new special protocols (Chromium only)
    heopenit:// + virtual path to the file you want to open in the external application associated to its type (for instance, heopenit://mydoc.doc will extract and open mydoc.doc in Microsoft Word).
    heopenext:// + path to an external file you want to open in the external application associated to its type (a file that is not compiled into the application but in the same folder as the EXE file).
    heexternal:// + a URL, a path to an application: lets you start the associated application.

Improved PHP support

  • Switched to the latest PHP version available: 5.3.10
  • Uses the stable version of bcompiler (1.0.2) which fixes some bugs.
  • Added compatibility with PHP frameworks like CodeIgniter.
  • Virtual files (in the Data subfolder) can now be successfully hidden from the standard Open Dialog box. To activate this feature, you have to go to "PHP Settings" => "Main Settings" and enable "Use an absolute path for the virtual "Data" subfolder". Then enter the path of your choice, for instance X:\Data\. By using this feature, you won't be able to access real files that you could have placed in a real "Data" subfolder...
  • Fixed: cURL's dependencies ssleay32.dll and libeay32.dll were not compiled sometimes.
  • New option to customize the "Fatal PHP error" that is displayed when the PHP runtime fails to execute a PHP script. You can customize it thanks to the SPHPFatalErrorMsg resource string (Output => Language page).
  • Improved virtual file handling by file_exists, is_file and is_dir.
  • New: PHP warnings are now enabled by default. The application now asks you "Do you want to disable future error messages?" in case of multiple error or warning messages.

Improvements and new features

  • New scripting engine. Full Unicode support in HEScript scripts.
  • New improved script editor with code auto completion (CTRL+SPACE), parameters help (SHIFT+Click), better syntax highlighting.
  • Fixed the "Runtime Error (at -1:0): Invalid Type" error that occurred while using specific Windows locales.
  • Fixed wildcard password check routine.
  • Fixed: in "Prompt Messages", the /§ did not work as a carriage-return-line-feed.
  • EXE Version Information: version number format is no more restricted (for instance, you can enter 1.23.456.78 instead of
  • Improved: if you minimize an active page to the tray bar, then select a new page, the application now automatically restores and displays the new page.
  • Improved built-in XML engine.
  • New Authenticode code signing utility: you do not have to download and install SignTool yourself anymore.
  • New Comments field in String Protection.
  • Fixed window location bug when activating ExeOutput for PHP.
  • Fixed random crash of ExeOutput of PHP or applications at end (nasty PHP bug).
  • Fixed: "Reset Settings" now properly removes settings from the application.
  • New skin engine. Skins were updated: if you created a custom skin with the skin editor, make sure it works fine with the new skin engine.
  • New option to print without printer selection dialog box (global variable hedirectprint).
  • Lots of improvements and minor bug fixes.

Improved Trident engine support

  • Fixed CustomUserAgent problem when using %ORIGINAL% or leaving the field blank.
  • Fixed: Images defined in a css file were not showing in compiled exe sometimes.
  • Fixed Environment Options => Source File List Update settings were not saved.
  • hescript:// commands with string parameters are now properly decoded from URL format. For instance, if you want to pass a parameter with a space, use %20: hescript://UserMain.RunIt|My%20Message
  • Disabled "click" sounds by default in Trident applications.
  • New option to disable the "F5" hotkey (refresh shortcut): global variable exodisableF5.
  • Fixed: Print Preview was sometimes displayed.


  • Improved general demonstration for Chromium and Trident engines.
  • New XML parsing sample.


  • The ExeOutput PHP runtime module is not compatible with applications made with previous versions of ExeOutput for PHP.
  • HEScript function StrUtf8ToUnicode has been removed.

Version 1.4.1 - July 1st, 2011

  • new debugging features: Store requests and errors in log file and Enable "Show Source" context menu.
  • modified how SCRIPT_NAME and SCRIPT_FILENAME PHP variables are created.
  • added REQUEST_URI and QUERY_STRING PHP variables.
  • improvement: when requested URL contains no filename, e.g. http://heserver/folder1/, application now redirects to http://heserver/folder1/index.php
  • removed hard-coded max execution time parameter (was set to 0).
  • small minor changes.

Version 1.4 - June 21st, 2011

  • New experimental multithreading support for your PHP applications. This makes GUI applications faster and more responsive while processing complex tasks and PHP scripts.
    Note: you can disable multithreading support in PHP Settings / Main Settings.
  • Added experimental support for flush() - it will work only if you do not disable multithreading support. Remember that some versions of Microsoft Internet Explorer will only start to display the page after they have received 256 bytes of output, so you may need to send extra whitespace before flushing. A sample is available in the General Demonstration.
  • Fixed ssleay32.dll and libeay32.dll problems related to cURL.
  • Fixed access violation when you open a menu item such as Help -> About while the page is refreshing.
  • Fixed missing JavaScript error notification: ExeOutput did not display usual JS error notifications, even though you have the Visual Controls > IE Browser > ScriptNoErrorMsg option unchecked.
    IMPORTANT: do not forget to enable this option if you want to disable JS errors.
  • Added IE7 compatibility mode option: if you want your application to use the IE7 rendering engine, even if IE8 or IE9 is set up. Option available at: Application Settings > Visual Controls > IE Browser > UseIE7CompatibilityMode
  • You can now define whether third-party resources such as PDF, MP3, FLV, MP4... should be extracted to disk or virtualized (PHP Settings / Content Filetypes).
  • Fixed require_once / include_once and similar problems that could occur in some cases.
  • Added isappterminated global variable. It is set to "1" when the application is terminated. Useful for an infinite loop in PHP to find out whether it should exit. For instance, use this PHP code in your loops: if (exo_getglobalvariable("isappterminated", "0") == "1") break;
  • Fixed: you can now remove empty folders with the Clean button in File Manager.
  • Improved text compression.
  • Improved skin engine.
  • Improved internal behaviors.
  • Updated demonstration and documentation.

Version 1.3 - April 28th, 2011

  • new user guide in PDF format that you can print.
  • improved support for Internet Explorer 9 and HTML5 / CSS3. Your applications will now render HTML content with the new Trident (MSHTML) engine provided with IE9 if the latter is installed.
  • new EnableIE9GPUMode property (Application Settings > Visual Controls > IE Browser)
    Allows your application to use GPU Rendering mode (hardware acceleration). By default, it will use Software Rendering mode. Only applicable if Internet Explorer 9 is installed on the end user's computer.
  • new NoForceIEStandardMode property (Application Settings > Visual Controls > IE Browser)
    When set to False (default), webpages are displayed in IEn Standards mode, regardless of the !DOCTYPE directive. When set to True, only webpages containing standards-based !DOCTYPE directives are displayed in IEn mode. (n = 8 if IE8 is installed, n = 9 if IE9 is installed).
  • new project wizard look.
  • added a new optional "External Path" column in the File Manager. You can activate it with the "Show "External Paths" Column" menu command in the popup menu (right click on the list to display it).
  • new web update utility that can optionally check for new updates and additional downloads.
  • new browse folder HEScript function named SelectDirectory.
  • new improved script editor with code auto completion (CTRL+SPACE), parameters help (SHIFT+Click), better syntax highlighting.
  • new CustomUserAgent property (Application Settings > Visual Controls > IE Browser)
    Lets you change the User Agent of the browser. If you leave it blank, the default user agent will be used (for instance, with IE9 installed, it could be "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)").
  • PHP's $_SERVER['HTTP_USER_AGENT'] works now.
  • minimal window width and height can now be set in Application Settings > Main Window.
  • improved internal PHP.INI editor and HTML/PHP editor.
  • splash screen bug (for the initialization dialog box) fixed.
  • the initialization splash screen does not display a border anymore.
  • Improved include, require, require_once... PHP functions for handling paths beginning with "../" and "./".
  • optimized Run Application quick button: if you modify the project, the application is compiled again and immediately run.
  • new cURL-related option: in the PHP extensions page, right click on php_curl.dll and you have the option to include or not the two DLLs required by cURL (libeay32.dll and ssleay32.dll).
  • improved Printer options (Visual Controls / Printer page).
  • new printer option ShowPageSetup to show/hide the Page Setup dialog before printing.
  • new Utf8ToUnicode(str) and UnicodeToUtf8(str) JavaScript functions to easily convert text from UTF8 to Unicode and vice-versa.
    updated skin engine and skins.
  • updated internal XML engine.
  • updated general demonstration with new samples and look.
  • updated documentation.


HEScript functions STRENCODEBINHEX and STRDECODEBINHEX were removed.

Version 1.2.1 - March 2011

  • Fixed AJAX problem with jQuery 1.5.
  • Fixed text property editor bug.
  • new SQLite database editor sample.
  • New global variable HEIEMajorVersion to get the version number of IE installed.
  • Successfully tested with Microsoft Internet Explorer 9 RC.
  • Minor changes.

Version 1.2 - January 2011

  • The internal PHP runtime was upgraded to PHP 5.3.5.
  • Improved debugger detection feature.
  • Include/require/require_once/include_once was improved again in case of complex paths.
  • Virtualization engine upgraded.
  • Skin engine upgraded, skins updated.
  • Fixed dll import bug in HEScript.
  • Added noresize creation parameter to ShowPopup functions: you can create non resizable popup windows (see the documentation).
  • Virtualization engine upgraded.
  • Minor changes.

If you have a previous version of ExeOutput for PHP (prior to 1.2), it may be necessary to uninstall the previous version manually (see Uninstall section).

Registered users may require an updated license key. Please click here to obtain this license key online.

Version 1.1.5 - October 29th, 2010

  • Fixed: SaveFileDialog was always returning an empty string.
  • Added SCRIPT_FILENAME server variable.
  • Improved version of include/require/require_once/include_once for compatibility with Embarcadero RadPHP and the RadPHP Component Library.
  • Virtualization engine upgraded.
  • Skin engine upgraded.
  • Minor GUI fixes.
  • New samples available on our website: make PDF with ExeOutput for PHP and fPDF, SQLite support, samples made with RadPHP and compiled with ExeOutput for PHP.

Version 1.1 - October 2010

  • The internal PHP runtime was upgraded to PHP 5.3.3.
  • New option to stop the execution of a faulty php script (in case of errors, warnings...). Otherwise, the program follows instructions from "error_reporting" in php.ini file.
  • When PHP returns an HTTP code error, ExeOutput now shows it instead of "navigation to webpage canceled".
  • Added support for is_file.
  • Added new option: "Unpack the file(s) to virtual memory at startup" to File Properties. When the application starts, it unpacks the file to the virtual storage (the virtual subfolder named "Data" from the folder where the EXE is located). Note that the file is not unpacked to the hard disk, but in memory.
  • Added PHP_SELF and SERVER_PORT server variables.
  • Improved internal pluggable protocol.
  • Updated skin engine and skins. New skins with Aero effects.
  • Fixed Vista icon format bug.
  • Fixed AJAX problem with POST method.
  • Added new option (IE browser: DonotProcessEnterKeyMsg) to stop troubles with the ENTER key in HTML editors such as FCKEditor.
  • Fixed language file import problem.
  • Updated demonstration with topics about embedded PDF and AJAX use.
  • New resource string: SPHPRuntimeFault is displayed to end users if the Visual C++ runtime is not available (MSVCR90.DLL).
  • Minor changes.

Version 1.0

Initial release

To stay informed about future versions

 Follow us on Twitter

 Visit our news blog (RSS)

 Subscribe to our newsletter