The standard folders on computers with the Windows operating system can be subdivided roughly as follows.
The actual names and locations of these standard system folders depend on the version of Windows, on its localization, and sometimes on user preferences. Profile-dependent folders also depend on the login name of the user account to which they belong: each user has his or her own set of profile-dependent folders, with a separate "All Users" profile that is shared by all.
Profile-dependent folders are typically used to install shortcuts and sometimes application- or user-specific configuration data. Which profile-dependent folders to use depends on the installation type.
The difference between the All Users and the Current User profile trees is only relevant for Windows NT-based systems (NT4, 2000, XP, 2003, and later). Windows 95, 98, and Me have only very limited support for different user accounts; for most practical purposes, they can be considered as having only an All Users profile.
Tarma Installer fully supports both the All Users profile tree and the Current User profile tree. During Current User installations, it will map the All Users tree to the Current User tree, but otherwise the two profile trees are independent. The same mapping is also applied to any custom folders that you might install in the All Users tree; they too are automatically mapped to their Current User equivalent during a Current User installation.
As a result, Tarma Installer can install both All Users and Current User files and shortcuts during a All Users installation. This is useful if you want to give the Current User (i.e., the installing user) additional shortcuts over and beyond the shortcuts installed for all other users. For example, if the installing user is an Administrator who is performing a All Users installation, you could install the normal application shortcuts for All Users, but place the uninstallation shortcut and perhaps some maintenance shortcuts under the Administrator's Current User tree, where they would be inaccessible to other users.
Windows Installer only supports a few profile-related folders; the ones most relevant for shortcuts are mapped to the Current User variant for Current User installations, and to the All Users tree for All Users installations. Therefore, you cannot have both All Users and Current User files and shortcuts in a Windows Installer package.
| Folder tree | Tarma Installer | Windows Installer | ||
|---|---|---|---|---|
| Current User installation | All Users installation | Current User installation | All Users installation | |
| All Users | Mapped to Current User tree during installation | All Users tree |
Partially supported: Desktop, Start Menu, Templates and their subfolders are mapped to their All Users or Current User equivalent as appropriate; others are kept as-is. At build time, Tarma ExpertInstall merges the All Users versions of these folders (only) with their Current User equivalents. This achieves the desired effect for most shortcuts. Other folders are not affected. |
|
| Current User | Current User tree | |||
| Program Files | Mapped to the Current User\Application Data tree during installation | Remains under Program Files | Not supported. The Program Files tree is never redirected. | |
Tarma Installer packages have no significant restrictions on profile-dependent folders. All standard profile-dependent folders are available for installation and any custom folders that you create in a profile tree will install as expected.
Windows Installer supports the most common shortcut-related folders plus a few other profile-dependent folders such as Application Data, Favorites and Templates. It is also possible to install files and shortcuts in profile-dependent folders that are not directly supported by Windows Installer. However, this carries the risk that the name that you choose for an unsupported folder is not the same as the folder's name on the target system. This is a particular problem with localized installers: you must ensure that you localize the missing folder names exactly as they appear on the target systems, or your installation files may end up in an incorrectly named folder. (This is not a problem with supported folders, because their names are automatically retrieved from the target system at installation time.)
In general, we recommend that you create a Tarma Installer package instead of a Windows Installer package if you must install files or shortcuts in profile-dependent folders that are not supported by Windows Installer.
In a project that generates both Tarma Installer and Windows Installer packages, we recommend that you place your main shortcuts in the All Users profile, in particular All Users\Desktop, All Users\Start Menu, All Users\Start Menu\Programs, and its subfolders. You can place additional shortcuts in the Current User tree if you wish.
The following table shows in detail how the various profile-dependent folders behave under Tarma Installer and Windows Installer.
* These folders are Tarma extensions implemented by the Tarma Runtime module for Windows Installer. They are not standard MSI directory properties, but you can use them as you would any MSI directory property.
** These folders are set to their All Users equivalent during a All Users installation.
| Folder | Tarma Installer | Windows Installer |
|---|---|---|
| TARGETDIR | <TARGETDIR> | [TARGETDIR] |
|
Documents and Settings
|
<ProfilesFolder> | [ProfilesFolder]* |
|
All Users
|
<CommonProfileFolder> | [CommonProfileFolder]* |
|
Application Data
|
<CommonAppDataFolder> | [CommonAppDataFolder] |
|
Tarma Installer
|
<TinFolder> | Not applicable |
|
<ProductCode>
|
<TinProductFolder> | Not applicable |
|
Desktop
|
<CommonDesktopFolder> | Mapped to [DesktopFolder] |
|
Documents
|
<CommonDocumentsFolder> | Mapped to [PersonalFolder] |
|
Favorites
|
<CommonFavoritesFolder> | Mapped to [FavoritesFolder] |
|
Start Menu
|
<CommonStartMenuFolder> | Mapped to [StartMenuFolder] |
|
Programs
|
<CommonProgramMenuFolder> | Mapped to [ProgramMenuFolder] |
|
<ProductName>
|
<CommonProgramGroupFolder> | Mapped to [ProgramGroupFolder] |
|
Administrative Tools
|
<CommonAdminToolsFolder> | Mapped to [AdminToolsFolder] |
|
Startup
|
<CommonStartupFolder> | Mapped to [StartupFolder] |
|
Templates
|
<CommonTemplateFolder> | Mapped to [TemplateFolder] |
|
Current User
|
<ProfileFolder> | [ProfileFolder]* |
|
Application Data
|
<AppDataFolder> | [AppDataFolder] |
|
Cookies
|
<CookiesFolder> | [CookiesFolder]* |
|
Desktop
|
<DesktopFolder> | [DesktopFolder]** |
|
Favorites
|
<FavoritesFolder> | [FavoritesFolder] |
|
Local Settings
|
<LocalSettingsFolder> | [LocalSettingsFolder]* |
|
Application Data
|
<LocalAppDataFolder> | [LocalAppDataFolder] |
|
History
|
<HistoryFolder> | [HistoryFolder]* |
|
Temporary Internet Files
|
<CacheFolder> | [CacheFolder]* |
|
My Documents
|
<PersonalFolder> | [PersonalFolder] |
|
My Pictures
|
<MyPicturesFolder> | [MyPicturesFolder] |
|
NetHood
|
<NetHoodFolder> | [NetHoodFolder]* |
|
PrintHood
|
<PrintHoodFolder> | [PrintHoodFolder]* |
|
Recent
|
<RecentFolder> | [RecentFolder]* |
|
SendTo
|
<SendToFolder> | [SendToFolder] |
|
Start Menu
|
<StartMenuFolder> | [StartMenuFolder]** |
|
Programs
|
<ProgramMenuFolder> | [ProgramMenuFolder]** |
|
<ProductName>
|
<ProgramGroupFolder> | [ProgramGroupFolder]*,** |
|
Administrative Tools
|
<AdminToolsFolder> | [AdminToolsFolder]** |
|
Startup
|
<StartupFolder> | [StartupFolder]** |
|
Templates
|
<TemplateFolder> | [TemplateFolder]** |