Wix 安装程序接受许可证密钥并保存在文件中

问题描述

WIX 安装程序如何在 UI 中接受许可证密钥并将其保存在指定位置?

我创建了一个自定义对话框来接受来自用户的密钥并将其设置在指定的属性中,但是当我将此输入传递给自定义操作以将值保存在文件中时,自定义操作会收到该属性的初始值不是用户输入的那个。

可能是我的安装执行顺序不对。我应该在什么时候安排它的执行?

  <InstallExecuteSequence> 
 <Custom Action="CA_SaveProperty" After="InstallFiles" /> 
  </InstallExecuteSequence>

我试过了:

 After="InstallInitialize"

Before ="InstallFinalize"

我想要的是在用户输入许可证密钥之后和安装程序准备好复制文件之前调用自定义操作。

解决方法

经过多次努力,我发现这很容易:

  <CustomAction Id="CA_SaveProperty"  BinaryKey="CA_SavePropertyDLL"  DllEntry="ReadProperty"  Execute="commit"  Return="check" />

<InstallExecuteSequence> 
  <Custom Action="CA_SaveProperty" After="InstallFiles" />
    </InstallExecuteSequence>