Basic Question about how the Build Installer Works

This forum has been archived and is no longer active.

The new forum is located at:

https://sourceforge.net/apps/phpbb/installjammer/

You may continue to view and search the topics in this forum, but no new posts can be created.

Basic Question about how the Build Installer Works

Postby drjhgray » Wed Aug 24, 2011 5:57 pm

If I have an Execute Script action defined within one of my installer panes or within an Action Group, does the Build Installer activity go ahead and perform that Execute Script action, get the results, and include those results within the completed installer or does the completed installer perform the Execute Script action real time when the installer is executed on a machine?

From my observations any user provided data in an entr box or user selections using radiobuttons or checkboxs are real time during installer execution and actions like Execute Scripts seem to be previousl;y performed during the Installer build and the results are used automaticly during installer execution. Is that a correct observation?
drjhgray
 
Posts: 5
Joined: Tue Aug 23, 2011 2:57 pm

Re: Basic Question about how the Build Installer Works

Postby hsehdar » Wed Aug 24, 2011 7:01 pm

Within my experience I understand the scripts are executed at run time with respect to the virtual texts used. The virtual texts gets edited or updated using the logic of code written by developer. Hence this part can be considered static to a certain extent. If the code does more then that will go dynamic or executed run time. As long as the logic of installer works its more than enough.
hsehdar
 
Posts: 134
Joined: Sun Sep 26, 2010 7:16 am

Re: Basic Question about how the Build Installer Works

Postby drjhgray » Wed Aug 24, 2011 8:54 pm

Here is what I am seeing. I have a pane with Execute Script and 2 Execute Actions. The Execute Script executes code to determine if the PROCESSOR_ARCHITECTURE environment has a value of x86 or not. It returns 1 if the result is not x86 and returns 0 if the result is x86. The result is of course assigned to a virtual text called WinArch. Each Execute Acton has a condition checking the value of WinArch. In the first Execute Action if the condition WinArch is false (returned a 0) then the action is for a 32 bit architecture. In the second Execute Action if the condition WinArch is true (returned a 1) then the action is for a 64 bit architecture.

When I execute the installer on a 32 bit architecture machine the the 32 bit Execute Action for the 32 bit architecture is performed. When I execute the same installer on a 64 bit machine even though the PROCESSOR_ARCHITECTURE environment has a value of AMD64, it still returns a 0 (as if the environment variable had x86 as a value). I get the same Execute Action no matter if I am executing the installer on a 32 bit machine or a 64 bit machine. This is what prompted my initial question concerning when the Execute Script is performed. It just seems like as I perform the installer build on the 32 bit architecture the result of the Execute Script for the 32 bit architecture is wrapped up in the installer and is showing itself on the 64 bit machine during exection.

I hope this example is undersandable.
drjhgray
 
Posts: 5
Joined: Tue Aug 23, 2011 2:57 pm

Re: Basic Question about how the Build Installer Works

Postby hsehdar » Thu Aug 25, 2011 8:57 am

Why not debug or put a message box and check what is the processor architecture. Certain Windows connecting APIs are from TWAPI. Read TWAPI related help and then conclude.

The script I added was tested on Intel processor Windows 2008 server and Windows 7. It is not tested on AMD processor. Does this make any difference is another question which needs attention probably at a later stage.

Also IJ uses TCL for all these actions. TCL is a scripting language. So at run time all these are done.
hsehdar
 
Posts: 134
Joined: Sun Sep 26, 2010 7:16 am


Return to Help

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron