Install4j 如何在自定义操作中正确使用RegistryRoot之类的类?
我必须实现一个自定义操作,在windows注册表中搜索已安装的dotnet framework版本。因此,我想扩展ReadRegistryValueAction以集成我的个人搜索算法。但是在IDE上找不到自定义操作。因此,我从AbstractInstallAction扩展了该操作,并包括RegistryRoot类,以便在IDE中配置该操作,方法与install4j framework提供的注册表操作相同Install4j 如何在自定义操作中正确使用RegistryRoot之类的类?,install4j,Install4j,我必须实现一个自定义操作,在windows注册表中搜索已安装的dotnet framework版本。因此,我想扩展ReadRegistryValueAction以集成我的个人搜索算法。但是在IDE上找不到自定义操作。因此,我从AbstractInstallAction扩展了该操作,并包括RegistryRoot类,以便在IDE中配置该操作,方法与install4j framework提供的注册表操作相同 public class CheckDotNetInstallationAction ext
public class CheckDotNetInstallationAction extends AbstractInstallAction {
private RegistryRoot registryRoot;
public RegistryRoot getRegistryRoot() {
return registryRoot;
}
public void setRegistryRoot(RegistryRoot registryRoot) {
this.registryRoot = registryRoot;
}
@Override
public boolean install(InstallerContext paramInstallerContext)
throws UserCanceledException {
// do custom search
return false;
}
}
但要获得下拉列表,只有一个空白字段。我还希望有一个下拉列表,与当前注册表操作中的方式相同。现在有两个问题:
是否可以扩展现有的操作/屏幕/表单,并在IDE中使用和配置它,还是有必要从AbstractInstallAction进行扩展?
如何像在install4j框架提供的操作中使用RegistryRoot这样的类一样使用自定义组件?特别是在IDE中配置这些组件的方法。
您必须添加BeanInfo类并设置枚举映射器。查看源文件 samples/customCode/SampleActionBeanInfo.java
在install4j install4j安装中,并查找调用setEnumerationMappers的错误。我在安装方法中使用了WinRegistry,但我想从IDE配置所需的RegistryRoot,以便可以重用此操作。但是,当我将自定义操作集成到安装程序项目中时,只会得到一个空白字段。这就是我的问题。我无法通过下拉列表配置RegistryRoot字段。对于WinRegistry类,我需要一个RegistryRoot实例,而不是字符串值。对不起,完全误解了您的问题,请查看更新的答案。