Package com.install4j.api.windows
Class WinFileSystem
java.lang.Object
com.install4j.api.windows.WinFileSystem
Collection of static methods to access Microsoft Windows-specific
folder locations and to execute native file system operations.
-
Method Summary
Modifier and TypeMethodDescriptionstatic booleancreateShellLink(File file, File shortcutTo, File iconFile) Creates a shell link.static booleancreateShellLink(File file, File shortcutTo, File iconFile, String arguments) Creates a shell link.static booleanCreates a shell link.static booleancreateShellLink(File file, File shortcutTo, File iconFile, String arguments, String description, File startIn) Creates a shell link.static booleancreateShellLink(File file, File shortcutTo, File iconFile, String arguments, String description, File startIn, ShowCommand showCommand) Creates a shell link.static voidcreateStartMenuEntry(String programGroupName, String entryName, File destination, boolean allUsers, File icon) Creates a start menu entry.static voidcreateStartMenuEntry(String programGroupName, String entryName, File destination, boolean allUsers, File icon, String arguments) Creates a start menu entry.static voidcreateStartMenuEntry(String programGroupName, String entryName, File destination, boolean allUsers, File icon, String arguments, boolean runAsAdministrator) Creates a start menu entry.static FileReturns a folder for components that are shared across applications.static DriveTypegetDriveType(File file) Tests on what kind of drive the given file is (or would be) located.static FileReturns the program data directory where applications can save data that is not specific to particular users.static FileReturns the program files directory of the current Windows installation.static FilegetSpecialFolder(SpecialFolder folderType, boolean allUsers) Returns Windows-specific directories like the start menu or the desktop.static FileReturns the system directory.static FileReturns the Windows directory.static booleanmoveWithDelayUntilReboot(File source, File destination) Calls the win32 API function MoveFileEx with MOVEFILE_DELAY_UNTIL_REBOOT.
-
Method Details
-
getSpecialFolder
Returns Windows-specific directories like the start menu or the desktop.- Parameters:
folderType- specifies the requested folder type.allUsers- if this parameter istrueand if the current user is in the Administrators group, the method returns the requested folder for all users. Otherwise, it returns the folder for the current user.- Returns:
- the requested folder location.
-
getProgramFilesDirectory
Returns the program files directory of the current Windows installation. A typical path isC:\Program Files.- Returns:
- the program files directory.
-
getCommonFilesDirectory
Returns a folder for components that are shared across applications. A typical path isC:\Program Files\Common Files.- Returns:
- the common files directory.
-
getProgramDataDirectory
Returns the program data directory where applications can save data that is not specific to particular users. A typical path isC:\ProgramData.- Returns:
- the common files directory.
-
getWindowsDirectory
Returns the Windows directory. A typical path isC:\Windows.- Returns:
- the Windows directory.
-
getSystemDirectory
Returns the system directory. A typical path isC:\Windows\system32- Returns:
- the system directory.
-
createShellLink
Creates a shell link. Note that Windows might change the link suffix fromlnktopif, if you are linking to a DOS executable or a batch file. This as the same as callingcreateShellLink(file, shortcutTo, iconFile, null, null)- Parameters:
file- the shell link that should be created including thelnksuffix.shortcutTo- the file it should link to.iconFile- an optional icon file. Ifnullis passed, the default icon of theshortcutTotarget will be used.- Returns:
- whether the link could be created or not.
- See Also:
-
createShellLink
Creates a shell link. Note that Windows might change the link suffix fromlnktopif, if you are linking to a DOS executable or a batch file. This as the same as callingcreateShellLink(file, shortcutTo, iconFile, arguments, null)- Parameters:
file- the shell link that should be created including thelnksuffix.shortcutTo- the file it should link to.iconFile- an optional icon file. Ifnullis passed, the default icon of theshortcutTotarget will be used.arguments- the arguments passed to the target.- Returns:
- whether the link could be created or not.
-
createShellLink
public static boolean createShellLink(File file, File shortcutTo, File iconFile, String arguments, String description) Creates a shell link. Note that Windows might change the link suffix fromlnktopif, if you are linking to a DOS executable or a batch file.- Parameters:
file- the shell link that should be created including thelnksuffix.shortcutTo- the file it should link to.iconFile- an optional icon file. Ifnullis passed, the default icon of theshortcutTotarget will be used.arguments- the arguments passed to the target.description- the description used in the tooltip- Returns:
- whether the link could be created or not.
-
createShellLink
public static boolean createShellLink(File file, File shortcutTo, File iconFile, String arguments, String description, File startIn) Creates a shell link. Note that Windows might change the link suffix fromlnktopif, if you are linking to a DOS executable or a batch file.- Parameters:
file- the shell link that should be created including thelnksuffix.shortcutTo- the file it should link to.iconFile- an optional icon file. Ifnullis passed, the default icon of theshortcutTotarget will be used.arguments- the arguments passed to the target.description- the description used in the tooltipstartIn- the working directory for the executable- Returns:
- whether the link could be created or not.
-
createShellLink
public static boolean createShellLink(File file, File shortcutTo, File iconFile, String arguments, String description, File startIn, ShowCommand showCommand) Creates a shell link. Note that Windows might change the link suffix fromlnktopif, if you are linking to a DOS executable or a batch file.- Parameters:
file- the shell link that should be created including thelnksuffix.shortcutTo- the file it should link to.iconFile- an optional icon file. Ifnullis passed, the default icon of theshortcutTotarget will be used.arguments- the arguments passed to the target.description- the description used in the tooltipstartIn- the working directory for the executableshowCommand- the window show command- Returns:
- whether the link could be created or not.
-
createStartMenuEntry
public static void createStartMenuEntry(String programGroupName, String entryName, File destination, boolean allUsers, File icon) throws IOException Creates a start menu entry.- Parameters:
programGroupName- the name of the program group where the entry should be createdentryName- the name of the menu entry. You can create subfolders with backslashes.destination- the file that should be linked toallUsers- whether the entry should be created for all users or noticon- an optional icon file. Ifnullis passed, the default icon of thedestinationtarget will be used.- Throws:
IOException- if the start menu entry could not be created
-
createStartMenuEntry
public static void createStartMenuEntry(String programGroupName, String entryName, File destination, boolean allUsers, File icon, String arguments) throws IOException Creates a start menu entry.- Parameters:
programGroupName- the name of the program group where the entry should be createdentryName- the name of the menu entry. You can create subfolders with backslashes.destination- the file that should be linked toallUsers- whether the entry should be created for all users or noticon- an optional icon file. Ifnullis passed, the default icon of thedestinationtarget will be used.arguments- optional arguments given to the destination. Can benull- Throws:
IOException- if the start menu entry could not be created
-
createStartMenuEntry
public static void createStartMenuEntry(String programGroupName, String entryName, File destination, boolean allUsers, File icon, String arguments, boolean runAsAdministrator) throws IOException Creates a start menu entry.- Parameters:
programGroupName- the name of the program group where the entry should be createdentryName- the name of the menu entry. You can create subfolders with backslashes.destination- the file that should be linked toallUsers- whether the entry should be created for all users or noticon- an optional icon file. Ifnullis passed, the default icon of thedestinationtarget will be used.arguments- optional arguments given to the destination. Can benullrunAsAdministrator- whether the entry should be run as administrator- Throws:
IOException- if the start menu entry could not be created
-
moveWithDelayUntilReboot
Calls the win32 API function MoveFileEx with MOVEFILE_DELAY_UNTIL_REBOOT. You must be an administrator to call this function.- Parameters:
source- the source file. Must be on the same drive as the destination file.destination- the destination file. If empty, the source file will be deleted.- Returns:
- true if the operation could be registered successfully.
-
getDriveType
Tests on what kind of drive the given file is (or would be) located.- Parameters:
file- an existing or non-existing file- Returns:
- a constant of
DriveType.
-