MSI: How to speed up ExecuteAction

2019-05-23 11:57发布

In my current MSI ExecuteAction takes at least 1m 30s. I created a simple msi (from WiX examples) and it takes about 4 seconds for ExecuteAction.

How can I optimize my MSI package, so ExecuteAction will run faster?

1条回答
SAY GOODBYE
2楼-- · 2019-05-23 12:22

Windows uses ExecuteAction to initiate a system restore point. Depending on your machine configuration, this can take quite a while. During performance testing our company's installer, we encountered elapsed times of 5 to 26 seconds.

Windows XP, it seems, by default, does not create system restore points. Windows Vista and Windows 7, however, do. Here are our test results over 24 machines (averages):

  • Windows XP: 1 second
  • Windows Vista: 7 seconds
  • Windows 7: 13 seconds

There is a workaround for Windows 7 (in Windows Installer 5). Here is the MSDN article. The workaround is to disable the system restore point for the installer. Here is the workaround in WiX:

<Property Id="MSIFASTINSTALL" Value="1"/>

Here is another example of the same problem as yours where I found the solution.

查看更多
登录 后发表回答