Package com.install4j.api.windows
Class WinRegistry
java.lang.Object
com.install4j.api.windows.WinRegistry
Collection of static methods to access the Microsoft Windows registry.
If RegistryRoot.HKEY_CURRENT_USER is specified, the correct
result for the original user is returned even if executed in the elevated helper.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classClass to represent Strings with type REG_EXPAND_SZ. -
Method Summary
Modifier and TypeMethodDescriptionstatic booleancreateKey(RegistryRoot root, String keyName) Creates a registry key.static booleancreateKey(RegistryRoot root, String keyName, RegistryView registryView) Creates a registry key.static voiddeleteKey(RegistryRoot root, String keyName, boolean onlyIfEmpty) Deletes a registry key.static voiddeleteKey(RegistryRoot root, String keyName, boolean onlyIfEmpty, RegistryView registryView) Deletes a registry key.static voiddeleteValue(RegistryRoot root, String keyName, String valueName) Deletes a registry value.static voiddeleteValue(RegistryRoot root, String keyName, String valueName, RegistryView registryView) Deletes a registry value.static String[]getSubKeyNames(RegistryRoot root, String keyName) Retrieves the sub keys of a registry key.static String[]getSubKeyNames(RegistryRoot root, String keyName, RegistryView registryView) Retrieves the sub keys of a registry key.static ObjectgetValue(RegistryRoot root, String keyName, String valueName) Retrieves a registry value.static ObjectgetValue(RegistryRoot root, String keyName, String valueName, RegistryView registryView) Retrieves a registry value.static String[]getValueNames(RegistryRoot root, String keyName) Retrieves the exiting value names of a registry key.static String[]getValueNames(RegistryRoot root, String keyName, RegistryView registryView) Retrieves the exiting value names of a registry key.static booleankeyExists(RegistryRoot root, String keyName) Checks if a registry key exists.static booleankeyExists(RegistryRoot root, String keyName, RegistryView registryView) Checks if a registry key exists.static booleanrestoreKey(RegistryRoot root, String keyName, String fileName) Restore a subtree of the registry from a file.static booleanrestoreKey(RegistryRoot root, String keyName, String fileName, RegistryView registryView) Restore a subtree of the registry from a file.static booleansaveKey(RegistryRoot root, String keyName, String fileName) Save a subtree of the registry to a file.static booleansaveKey(RegistryRoot root, String keyName, String fileName, RegistryView registryView) Save a subtree of the registry to a file.static booleansetValue(RegistryRoot root, String keyName, String valueName, Object value) Sets a registry value.static booleansetValue(RegistryRoot root, String keyName, String valueName, Object value, RegistryView registryView) Sets a registry value.
-
Method Details
-
keyExists
Checks if a registry key exists.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.- Returns:
trueif the key exists.
-
createKey
Creates a registry key.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.- Returns:
trueif successful.
-
getValue
Retrieves a registry value. The class of the returned object is determined by the value's type.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.valueName- the name of the registry value.- Returns:
- the requested value. Returns
null, if the value doesn't exist. Otherwise it is an instance of one of the following classes:String, Integer, Long, String[], byte[], WinRegistry.ExpandString.
-
setValue
Sets a registry value. The type is determined by the class of the value.- Parameters:
root- one of theRegistryRoot.*constantskeyName- the name of the key without a leading backslash.valueName- the name of the registry value.value- an instance of one of the following classes:String, Integer, Long, String[], byte[], WinRegistry.ExpandString.- Returns:
trueif successful.
-
deleteValue
Deletes a registry value.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.valueName- the name of the registry value.
-
deleteKey
Deletes a registry key.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.onlyIfEmpty- iftrue, the method will delete the key only if the key contains no values and no sub-key.
-
getSubKeyNames
Retrieves the sub keys of a registry key.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.- Returns:
- an array with the sub keys' names. Returns an empty array if there are no sub keys and
nullif the key doesn't exist or if an error occurs.
-
getValueNames
Retrieves the exiting value names of a registry key.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.- Returns:
- an array with the values' names. Returns an empty array if there are no values and
nullif the key doesn't exist or if an error occurs.
-
saveKey
Save a subtree of the registry to a file. The subtree can be restored withrestoreKey.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash. This is the root of the saved subtree.fileName- the file to which the subtree should be saved.- Returns:
- whether the operation was successful or not.
- See Also:
-
restoreKey
Restore a subtree of the registry from a file. This method can restore files saved with thesaveKeymethod.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash. This is the key to which the root of the saved subtree will be restored.fileName- the file from which the saved subtree should be read.- Returns:
- whether the operation was successful or not.
- See Also:
-
keyExists
Checks if a registry key exists.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.registryView- the registry view used on 64-bit systems.- Returns:
trueif the key exists.
-
createKey
Creates a registry key.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.registryView- the registry view used on 64-bit systems.- Returns:
trueif successful.
-
getValue
public static Object getValue(RegistryRoot root, String keyName, String valueName, RegistryView registryView) Retrieves a registry value. The class of the returned object is determined by the value's type.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.valueName- the name of the registry value.registryView- the registry view used on 64-bit systems.- Returns:
- the requested value. Returns
null, if the value doesn't exist. Otherwise it is an instance of one of the following classes:String, Integer, Long, String[], byte[], WinRegistry.ExpandString.
-
setValue
public static boolean setValue(RegistryRoot root, String keyName, String valueName, Object value, RegistryView registryView) Sets a registry value. The type is determined by the class of the value.- Parameters:
root- one of theRegistryRoot.*constantskeyName- the name of the key without a leading backslash.valueName- the name of the registry value.value- an instance of one of the following classes:String, Integer, Long, String[], byte[], WinRegistry.ExpandString.registryView- the registry view used on 64-bit systems.- Returns:
trueif successful.
-
deleteValue
public static void deleteValue(RegistryRoot root, String keyName, String valueName, RegistryView registryView) Deletes a registry value.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.valueName- the name of the registry value.registryView- the registry view used on 64-bit systems.
-
deleteKey
public static void deleteKey(RegistryRoot root, String keyName, boolean onlyIfEmpty, RegistryView registryView) Deletes a registry key.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.onlyIfEmpty- iftrue, the method will delete the key only if the key contains no values and no sub-key.registryView- the registry view used on 64-bit systems.
-
getSubKeyNames
Retrieves the sub keys of a registry key.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.registryView- the registry view used on 64-bit systems.- Returns:
- an array with the sub keys' names. Returns an empty array if there are no sub keys and
nullif the key doesn't exist or if an error occurs.
-
getValueNames
Retrieves the exiting value names of a registry key.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash.registryView- the registry view used on 64-bit systems.nullif the key doesn't exist or if an error occurs.- Returns:
- an array with the values' names. Returns an empty array if there are no values and
-
saveKey
public static boolean saveKey(RegistryRoot root, String keyName, String fileName, RegistryView registryView) Save a subtree of the registry to a file. The subtree can be restored withrestoreKey.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash. This is the root of the saved subtree.fileName- the file to which the subtree should be saved.registryView- the registry view used on 64-bit systems.- Returns:
- whether the operation was successful or not.
- See Also:
-
restoreKey
public static boolean restoreKey(RegistryRoot root, String keyName, String fileName, RegistryView registryView) Restore a subtree of the registry from a file. This method can restore files saved with thesaveKeymethod.- Parameters:
root- one of theRegistryRoot.*constants.keyName- the name of the key without a leading backslash. This is the key to which the root of the saved subtree will be restored.fileName- the file from which the saved subtree should be read.registryView- the registry view used on 64-bit systems.- Returns:
- whether the operation was successful or not.
- See Also:
-