Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Windows Installer is a declarative (vs imperative) programming language. Instead of writing "script" in some language you use table data to express the installation. For example consider the tables:</p> <p>Feature -> Feature Components - Component -Directory</p> <p>Component -> File</p> <p>You are telling MSI that when a given feature is installed, the components that belong to it need to be installed. When the component is installed, a directory needs to be created and a file needs to be copied. If the installer rollsback, the file and directory needs to be removed.</p> <p>This is handled by various standard actions such as CreateFolders and InstallFiles. We don't write any script to accomplish this.</p> <p>But, there is in fact a script. It's generated by Windows Installer itself at runtime. Inside of any standard action that modifies machine state are two different phases:</p> <p>Script Generation - The installer is carefully considering what needs to be done and dynamically generating a list of operations to be performed</p> <p>Script Execution - The installer is now executing that script. Note: This occurs inside of InstallFinalize</p> <p>Log your favorite installer and start looking through it for the InstallFiles action. You'll see the two phases.</p> <p>This is very important stuff to realize when writing your own custom actions. For a lot more information on the subject, see:</p> <p><a href="http://www.installsite.org/pages/en/isnews/200108/" rel="nofollow">Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer</a></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload