属性 未更新注册表值高级安装程序

Property Is Not Updating Registry Value Advanced Installer

我想做一些简单的事情。使用高级安装程序更新注册表值。

The steps I took
1. Create a Property "LWL_KEY_2"
2. Create a Dialog with an Edit Box and set the Property name to "LWL_KEY_2"
3. Bind the Property Name to The Registry Key

日志显示 属性 获取用户输入

SI (c) (04:28) [14:48:11:280]: PROPERTY CHANGE: Modifying LWL_KEY_1 property. Its current value is 'nick1'. Its new value: 'abc123'.
MSI (c) (04:28) [14:48:23:748]: PROPERTY CHANGE: Modifying LWL_KEY_2 property. Its current value is 'nick2'. Its new value: 'xyz456'.
Action ended 14:48:23: NewSeqDialog. Return value 1.
MSI (c) (04:88) [14:48:23:865]: Doing action: ExitDialog
Action 14:48:23: ExitDialog. 
Action start 14:48:23: ExitDialog.

最终结果是创建了注册表项但没有任何值。 (如果我设置默认值,该值会填充到注册表中)

附上截图。

执行 WriteRegistryValues 操作后,您用来设置注册表 属性 的对话框很可能是 executed/displayed。这样,在用户可以在您的对话框中输入注册表值之前写入注册表值。

要更正这个糟糕的设计,您应该在高级安装程序安装项目的对话框视图中的 ProgressDlg 对话框之前的任何位置添加对话框。