title: WiX Action Sequence
body: <p>I was looking for list of actions and their sequence when running a WiX setup. Somehow the official website doesn't seem to provide any information.</p>
  
  <p>The basic problem is that I want to schedule my custom actions correctly. Typically I need to register a DLL with regsvr32.exe, and this can only be done once the files are copied to the harddrive. However the custom action </p>
  
  <pre><code>&lt;Custom Action="RegisterShellExt" After="InstallFiles"&gt;
  </code></pre>
  
  <p>failed with the error message "file not found". </p>
  
  <p>What I've done then is analizing the log of my MSI with WiX Edit, and I've found that the Action <em>InstallFiles</em> exists more than once. And effectively the files are written only the second time it appears. So I changed my custom action to the following :</p>
  
  <pre><code>&lt;Custom Action="RegisterShellExt" Before="InstallFinalize"&gt;
  </code></pre>
  
  <p>Here is the sequence I've extracted from the logs of my MSI: </p>
  
  <pre><code>Action start 15:16:49: INSTALL.
  Action start 15:16:49: PrepareDlg.
  Action start 15:16:49: AppSearch.
  Action start 15:16:49: LaunchConditions.
  Action start 15:16:49: ValidateProductID.
  Action start 15:16:49: DIRCA_NEWRETARGETABLEPROPERTY1.5D429292039C46FCA3253E37B4DA262A.
  Action start 15:16:50: CostInitialize.
  Action start 15:16:50: FileCost.
  Action start 15:16:50: CostFinalize.
  Action start 15:16:50: WelcomeDlg.
  Action 15:16:51: LicenseAgreementDlg. Dialog created
  Action 15:16:53: CustomizeDlg. Dialog created
  Action 15:16:55: VerifyReadyDlg. Dialog created
  Action start 15:16:56: ProgressDlg.
  Action start 15:16:56: ExecuteAction.
  Action start 15:16:58: INSTALL.
  Action start 15:16:58: AppSearch.
  Action start 15:16:58: LaunchConditions.
  Action start 15:16:58: ValidateProductID.
  Action start 15:16:58: CostInitialize.
  Action start 15:16:59: FileCost.
  Action start 15:16:59: CostFinalize.
  Action start 15:16:59: InstallValidate.
  Action start 15:17:00: InstallInitialize.
  Action start 15:17:08: ProcessComponents.
  Action 15:17:09: GenerateScript. Generating script operations for action:
  Action ended 15:17:09: ProcessComponents. Return value 1.
  Action start 15:17:09: UnpublishFeatures.
  Action start 15:17:09: RemoveShortcuts.
  Action start 15:17:09: RemoveFiles.
  Action start 15:17:09: InstallFiles.
  Action start 15:17:10: CreateShortcuts.
  Action start 15:17:10: RegisterUser.
  Action start 15:17:10: RegisterProduct.
  Action start 15:17:10: PublishFeatures.
  Action start 15:17:10: PublishProduct.
  Action start 15:17:10: ConfigureInstaller.
  Action start 15:17:10: InstallFinalize.
  Action 15:17:10: ProcessComponents. Updating component registration
  Action 15:17:12: InstallFiles. Copying new files
  Action 15:17:21: CreateShortcuts. Creating shortcuts
  Action 15:17:21: RegisterProduct. Registering product
  Action 15:17:23: ConfigureInstaller. [[note: CustomAction]]
  Action 15:17:22: PublishFeatures. Publishing Product Features
  Begin CustomAction 'ConfigureInstaller'
  Action 15:17:28: RollbackCleanup. Removing backup files
  Action ended 15:17:28: InstallFinalize. Return value 1.
  Action start 15:17:28: RegisterShellExt. [[note: CustomAction]]
  Action ended 15:17:33: INSTALL. Return value 1.
  Action start 15:17:35: ExitDialog.
  </code></pre>
  
  <p>Does anyone know an official listing?</p>