0

我对高级安装程序相当陌生,我只想Checkbox完成安装对话框中有一个。当用户选中 时,它应该更改 HKEY_CLASSES_ROOT 键中的注册表值,如果他取消选中,它也应该更改它。CheckboxCheckbox

我如何实现这样的目标。

4

1 回答 1

1

一般谈论 MSI 软件包。MSI 安装执行的所有系统更改都在您进入“完成”对话框之前完成。更确切地说,更改在您进入 InstallExecute 序列的那一刻开始发生,即您按下“安装”按钮。

当您看到Finish对话框时,您已经回到 InstallUI 序列,因此安装程序在此阶段不再进行系统更改。

要阅读- MSI 安装操作图 - 文章

话虽如此,如果无法选择“完成”对话框上的复选框,则使用 Advanced Installer 中注册表页面的支持来创建该条目。如果此复选框必须位于末尾,则您需要编写自己的自定义操作并在点击Finish按钮时执行它

我的建议是在终端用户进入InstallVerifyDlg对话框之前,即在点击安装按钮之前,将此选项呈现给最终用户。

这样做很容易,您只需使用附加到复选框的公共属性在该注册表项的组件上设置一个条件(在您在注册表页面中定义它之后)。链接的论坛线程解释了如何设置文件安装条件,但同样适用于注册表项。

于 2015-02-03T10:09:35.437 回答