我的安装程序会在进度条开始前挂起近一分钟,我想消除这种延迟。我做了一个详细的安装日志(下面),很清楚,减速是在设置还原点。
我很乐意牺牲回滚功能。我看到Wix架构中甚至还有一个DisableRollback元素。但是,我无法让它发挥作用。据推测,我只是不知道如何正确使用它 - 我是Wix和部署问题的新手。我该如何解决这个问题?
尝试:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product ...>
<Package ... />
<MediaTemplate EmbedCab="yes" />
<UIRef Id="WixUI_Minimal" />
<Feature ...>
...
</Feature>
<InstallExecuteSequence>
<DisableRollback Before="InstallExecute" Overridable="no" />
</InstallExecuteSequence>
日志的相关部分:
******* Product: C:\Users\mmorriso\Downloads\DevMDSetup.msi
******* Action: INSTALL
******* CommandLine: **********
MSI (s) (3C:E8) [18:50:23:536]: Machine policy value 'DisableUserInstalls' is 0
MSI (s) (3C:E8) [18:50:23:571]: Machine policy value 'LimitSystemRestoreCheckpointing' is 0
MSI (s) (3C:E8) [18:50:23:571]: Note: 1: 1715 2: DevMD
MSI (s) (3C:E8) [18:50:23:571]: Note: 1: 2205 2: 3: Error
MSI (s) (3C:E8) [18:50:23:571]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1715
MSI (s) (3C:E8) [18:50:23:571]: Calling SRSetRestorePoint API. dwRestorePtType: 0, dwEventType: 102, llSequenceNumber: 0, szDescription: "Installed DevMD".
MSI (s) (3C:E8) [18:51:35:485]: The call to SRSetRestorePoint API succeeded. Returned status: 0, llSequenceNumber: 323.
MSI (s) (3C:E8) [18:51:35:487]: File will have security applied from OpCode.
它不是一个大型安装程序 - 几十个文件,没有自定义操作等。
答案 0 :(得分:4)
我建议您阅读Windows Installer MSDN主题:
System Restore Points and the Windows Installer
从Windows Installer 5.0开始,MSIFASTINSTALL属性可以 设置为阻止安装生成系统还原 点。
还有其他可能的调整。