Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Install4j 如何在自定义操作中正确使用RegistryRoot之类的类?_Install4j - Fatal编程技术网

Install4j 如何在自定义操作中正确使用RegistryRoot之类的类?

Install4j 如何在自定义操作中正确使用RegistryRoot之类的类?,install4j,Install4j,我必须实现一个自定义操作,在windows注册表中搜索已安装的dotnet framework版本。因此,我想扩展ReadRegistryValueAction以集成我的个人搜索算法。但是在IDE上找不到自定义操作。因此,我从AbstractInstallAction扩展了该操作,并包括RegistryRoot类,以便在IDE中配置该操作,方法与install4j framework提供的注册表操作相同 public class CheckDotNetInstallationAction ext

我必须实现一个自定义操作,在windows注册表中搜索已安装的dotnet framework版本。因此,我想扩展ReadRegistryValueAction以集成我的个人搜索算法。但是在IDE上找不到自定义操作。因此,我从AbstractInstallAction扩展了该操作,并包括RegistryRoot类,以便在IDE中配置该操作,方法与install4j framework提供的注册表操作相同

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实例,而不是字符串值。对不起,完全误解了您的问题,请查看更新的答案。