Files and Directories
Previous Topic  Next Topic 

Files and directories are added to your project in File Groups.  Each file or directory in your project has its own set of properties that will override the default values specified in its File Group.  By default, a file or directory will inherit the properties of its parents up the tree, going back as far as the File Group.


When adding files and directories to a file group, they begin with no specific options, which means that they will inherit the properties of the File Group.  As you modify the properties of a directory, it will automatically affect the properties of all files and subdirectories in that directory.  Modifying the properties of a file will only change that file.  You can also select multiple files and directories and change their properties all at once.


Note

It is important to remember that properties on file groups and directories propagate down and affect all files and directories beneath them.  Looking at the File or Directory Details will show you what values currently affect the selected file or directory.


Files that have been newly-added to the project since the last time the project was loaded will appear in blue.  This makes it easy to detect when InstallJammer has modified the current project because it has automatically picked up a new file while recursively searching through directories.


Files that are disabled or "greyed-out" mean that InstallJammer cannot find the file on the local system.  The file may have been deleted on the system, or the location of the file may have changed.  You can find the file again by changing its Location property or by changing the Location of its containing directory.  Files that cannot be found will not be included when the install is built.


Note

Files cannot be deleted from an included directory in the file tree.  InstallJammer keeps track of the entire structure of a directory, so deleting a file from the project would only result in InstallJammer finding it again the next time you build.  If you don't want to include a file in your installer, just uncheck it or mark it inactive.



Standard Properties

See Standard Properties.


Active

If a file is marked inactive, that file will not be included when the installer is built.  If a directory is marked inactive, that directory and all files and directories beneath it will not be included when the installer is built.


Compression Method

This property defines the method of compression for the selected file or directory.  If specified on a directory, all other files and directories beneath the selected directory will have the same compression method.  If the compression method is left blank, the default compression method for the project will be used.


Destination Directory

This specifies the directory on the target system that this directory or file will install into.  Modifying the Destination Directory of a directory will automatically affect the destination of every file and directory in that directory since they inherit properties from their parent.


Note

If the Desination Directory is set on a directory, it means the name of the directory where this directory will be created on the target system.  The Destination Directory for a file is the directory the target file will be placed INTO on the target system.  See the Install Location under File or Directory Details to know for sure where a given file or directory will be installed.


File Update Method

This property tells InstallJammer how to behave when it is installing a file or directory on the target system that already exists.  Modifying the File Update Method of a directory will automatically affect the update method of every file and directory in that directory.  This does not modify their File Update Method property, but they will inherit from their parent.


Location

This property specifies the location of the given file or directory on the local system.  When changing the location of a file or directory, you can specify that the location provided should be stored in the project file itself or in your local preferences.  If the location is stored in your local preferences, it will not affect the location in the project file and will only be used when the project is loaded on the current machine.  This allows developers to specify different locations for projects on their own machines without having to change the locations within the project file itself.


If no location is specified, the location of a file or directory will be derived from its parents going up the tree.  Looking at the File Details for a particular file or directory will show you the location where InstallJammer has found it.


Target Filename

This file-only property specifies the name that this file should be created as on the target system during installation.  The Destination Directory can specify where this file should be installed, but this property specifies what it will be named when it gets there.


Version

This property tells InstallJammer what Install Version to store for this file or directory on the target system.  Modifying the Version of a directory will automatically affect the version of every file and directory in that directory.  This does not modify their Version property, but they will inherit from their parent.



File and Directory Details

This property block will tell you all of the information about the selected file or directory based on its own properties and the properties it has inherited from its parents.  This read-only block contains mostly information from the build system about the file or directory, but a few properties are worth noting.


Compression Method

This is the method that this file will be compressed with.  This is derived from its parents or from the default compression method for the project.


File Update Method

This property tells you how the selected file or directory will behave during installation if the target already exists on the target system.  If the selected object has no File Update Method of its own, it will inherit up the tree until it finds one.


Install Location

This property tells you how where the selected file or directory will be installed on the target system.  If the selected object has no Destination Directory of its own, it will inherit up the tree until it finds one.


Location

This is the location on the local system where the file or directory resides.  This can be specified in the Location property, or it will be derived from the parents going up the tree.


Version

This property tells you the Install Version of the selected file or directory when it is installed.  This version will be stored for future installations after the install is complete.  If the selected object has no Version of its own, it will inherit up the tree until it finds one.  If no Version is found in any parent, the global <%InstallVersion%> for the project will be used.


Permissions

This feature allows you to set the file permissions for the given file or directory.  By default, no permissions are set which means that the file or directory will be installed with some default permissions on the target system.


Permissions for a directory are not inherited by the files and directories underneath it.  The permissions only apply to that directory.  Multiple files or directories can be selected and their permissions set all at the same time.


Both Windows attributes and UNIX permissions are provided and will be applied based on the target system.  So, if a file has both Windows attributes and UNIX permissions, the Windows attributes will be applied when the file is installed on a Windows system, and the UNIX permissions will be applied when installed on a UNIX system.


Save Files

If this property is false, all of the files and subdirectories in this directory will not be saved in the project file.  When this directory is built, all of its contents will be dynamically generated from whatever is currently in the directory.  This allows for adding directories where all of the contents are only stored at build time.  This property works like a finer-grained version of the Save Only Toplevel Directories project preference.