install4j API

com.install4j.api.windows
Class WinFileSystem

java.lang.Object
  extended by com.install4j.api.windows.WinFileSystem

public class WinFileSystem
extends java.lang.Object

Collection of static methods to access Microsoft Windows-specific folder locations and to execute native file system operations.

Author:
ej-technologies GmbH

Method Summary
static boolean createShellLink(java.io.File file, java.io.File shortcutTo, java.io.File iconFile)
          Creates a shell link.
static boolean createShellLink(java.io.File file, java.io.File shortcutTo, java.io.File iconFile, java.lang.String arguments)
          Creates a shell link.
static boolean createShellLink(java.io.File file, java.io.File shortcutTo, java.io.File iconFile, java.lang.String arguments, java.lang.String description)
          Creates a shell link.
static void createStartMenuEntry(java.lang.String programGroupName, java.lang.String entryName, java.io.File destination, boolean allUsers, java.io.File icon)
          Creates a start menu entry.
static void createStartMenuEntry(java.lang.String programGroupName, java.lang.String entryName, java.io.File destination, boolean allUsers, java.io.File icon, java.lang.String arguments)
          Creates a start menu entry.
static java.io.File getCommonFilesDirectory()
          Returns a folder for components that are shared across applications.
static java.io.File getProgramFilesDirectory()
          Returns the program files directory of the current Windows installation.
static java.io.File getSpecialFolder(SpecialFolder folderType, boolean allUsers)
          Returns Windows-specific directories like the start menu or the desktop.
static java.io.File getSystemDirectory()
          Returns the system directory.
static java.io.File getWindowsDirectory()
          Returns the Windows directory.
static boolean moveWithDelayUntilReboot(java.io.File source, java.io.File destination)
          Calls the win32 API function MoveFileEx with MOVEFILE_DELAY_UNTIL_REBOOT.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSpecialFolder

public static java.io.File getSpecialFolder(SpecialFolder folderType,
                                            boolean allUsers)
Returns Windows-specific directories like the start menu or the desktop.

Parameters:
folderType - specifies the requested folder type.
allUsers - if this parameter is true and 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

public static java.io.File getProgramFilesDirectory()
Returns the program files directory of the current Windows installation. A typical path is C:\Program Files.

Returns:
the program files directory.

getCommonFilesDirectory

public static java.io.File getCommonFilesDirectory()
Returns a folder for components that are shared across applications. A typical path is C:\Program Files\Common. Valid only for Windows NT/2000/XP/Vista systems.

Returns:
the common files directory.

getWindowsDirectory

public static java.io.File getWindowsDirectory()
Returns the Windows directory. A typical path is C:\Windows.

Returns:
the Windows directory.

getSystemDirectory

public static java.io.File getSystemDirectory()
Returns the system directory. A typical path is C:\Windows\system32

Returns:
the system directory.

createShellLink

public static boolean createShellLink(java.io.File file,
                                      java.io.File shortcutTo,
                                      java.io.File iconFile)
Creates a shell link. Note that Windows might change the link suffix from lnk to pif, if you are linking to a DOS executable or a batch file. This as the same as calling createShellLink(file, shortcutTo, iconFile, null, null)

Parameters:
file - the shell link that should be created inluding the lnk suffix.
shortcutTo - the file it should link to.
iconFile - an optional icon file. If null is passed, the default icon of the shortcutTo target will be used.
Returns:
whether the link could be created or not.
See Also:
createShellLink(java.io.File, java.io.File, java.io.File, String)

createShellLink

public static boolean createShellLink(java.io.File file,
                                      java.io.File shortcutTo,
                                      java.io.File iconFile,
                                      java.lang.String arguments)
Creates a shell link. Note that Windows might change the link suffix from lnk to pif, if you are linking to a DOS executable or a batch file. This as the same as calling createShellLink(file, shortcutTo, iconFile, arguments, null)

Parameters:
file - the shell link that should be created inluding the lnk suffix.
shortcutTo - the file it should link to.
iconFile - an optional icon file. If null is passed, the default icon of the shortcutTo target will be used.
arguments - the arguments passed to the target.
Returns:
whether the link could be created or not.

createShellLink

public static boolean createShellLink(java.io.File file,
                                      java.io.File shortcutTo,
                                      java.io.File iconFile,
                                      java.lang.String arguments,
                                      java.lang.String description)
Creates a shell link. Note that Windows might change the link suffix from lnk to pif, if you are linking to a DOS executable or a batch file.

Parameters:
file - the shell link that should be created inluding the lnk suffix.
shortcutTo - the file it should link to.
iconFile - an optional icon file. If null is passed, the default icon of the shortcutTo target 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.

createStartMenuEntry

public static void createStartMenuEntry(java.lang.String programGroupName,
                                        java.lang.String entryName,
                                        java.io.File destination,
                                        boolean allUsers,
                                        java.io.File icon)
                                 throws java.io.IOException
Creates a start menu entry.

Parameters:
programGroupName - the name of the program group where the entry should be created
entryName - the name of the menu entry. You can create subfolders with backslashes.
destination - the file that should be linked to
allUsers - whether the entry should be created for all users or not
icon - an optional icon file. If null is passed, the default icon of the destination target will be used.
Throws:
java.io.IOException - if the start menu entry could not be created

createStartMenuEntry

public static void createStartMenuEntry(java.lang.String programGroupName,
                                        java.lang.String entryName,
                                        java.io.File destination,
                                        boolean allUsers,
                                        java.io.File icon,
                                        java.lang.String arguments)
                                 throws java.io.IOException
Creates a start menu entry.

Parameters:
programGroupName - the name of the program group where the entry should be created
entryName - the name of the menu entry. You can create subfolders with backslashes.
destination - the file that should be linked to
allUsers - whether the entry should be created for all users or not
icon - an optional icon file. If null is passed, the default icon of the destination target will be used.
arguments - optional arguments given to the destination. Can be null
Throws:
java.io.IOException - if the start menu entry could not be created

moveWithDelayUntilReboot

public static boolean moveWithDelayUntilReboot(java.io.File source,
                                               java.io.File destination)
Calls the win32 API function MoveFileEx with MOVEFILE_DELAY_UNTIL_REBOOT. You must be administrator to call this function. Not supported on Windows 9x.

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.

install4j API