Execute packed .exe on startup

I’m trying to find a way to execute an .exe file on startup that is packed in my publication. I can call the .exe to run in an html file, but I can’t figure out how to get it to run before the actual html pages show.

The .exe file queries the local computer for the number of active displays, and I store that number for use in some of my javascript code in the program.

As mentioned, calling the script from an html file works, but I want it to launch try to get the number of active monitors before it loads the first .html page. Any help is greatly appreciated.

You can try this tutorial:
http://www.htmlexe.com/help/samplescriptrunexe

Then, your EXE could store the result to a file or a registry entry. Your HTMLEXE publication can read both as explained in the doc:

http://www.htmlexe.com/help/samplescript3

Thanks for the reply support.
I’m running 3.6, do the same functions apply? I tried to enter the following under the UserMain scripts:

[code]
function OnPubLoaded: Boolean;
begin
// When the publication is starting.
// Set Result to True if you want to exit immediately without any warning.
Result := False;
// MonitorCount
procedure RunTutor;
var
EbookPath, MyProgram: String;
begin
EbookPath := GetGlobalVar(“HEPublicationPath”, “”);
MyProgram := EbookPath + “displaycount.exe”;
RunAProgram(MyProgram, “”, EbookPath, false, SW_SHOWNORMAL);

end;[/code]

but I run into a compile error. The error states:

Error in Script Line 7, column 1: Identifier expected Fatal Error: script not compiled.

Any thoughts?

An end; is missing to close the block begin … end;

Just before:
// MonitorCount

Thanks support,
That fixed the compile error, but it is not running the .exe to create a registry entry.

function OnPubLoaded: Boolean;
begin
 // When the publication is starting.
 // Set Result to True if you want to exit immediately without any warning.
// Result := False;
end;
// MonitorCount
procedure RunACompiledProgram;
var
MyProgram: String;
begin
MyProgram := UnpackTemporaryResource("displaycount.exe");
RunAProgram(MyProgram, "", ExtractFilePath(MyProgram), false, SW_SHOWNORMAL);
end;

I’ve tried moving it to several different functions, such as OnBeforeNavigate, OnDisplayWindow and OnStartMainWindow, but none of which will end up executing the .exe file. I’m sure that I am missing something simple.

It’s because you are not calling the RunACompiledProgram procedure.

Modify your script like this:

procedure RunACompiledProgram;
var
MyProgram: String;
begin
MyProgram := UnpackTemporaryResource("displaycount.exe");
RunAProgram(MyProgram, "", ExtractFilePath(MyProgram), false, SW_SHOWNORMAL);
end;

function OnPubLoaded: Boolean;
begin
 // When the publication is starting.
 // Set Result to True if you want to exit immediately without any warning.
RunACompiledProgram;
// Result := False;
end;

Now I understand how to make it work, this is why I love this product - the support is awesome! Thank you very much for the assistance!!