1997: Amiga Forever 1.0
When Amiga Forever 1.0 was released in 1997, the Windows operating system did generally not limit write
access or execution privileges to files based on the directory
in which a file was stored. This was consistent with the way the
Amiga operating system itself handled file access privileges, and made it
natural to install emulation executables for Windows, plus
Windows and Amiga data files, and Amiga executable files, in the
same "Amiga Forever" directory inside the "Program Files" system
folder.
2005: Preparing for Windows Vista and Beyond
In 2005 not only has it become a more common and accepted
safety practice on a variety of operating systems (e.g.
GNU/Linux,
macOS) not to perform "user mode" operations with
administrative privileges, but the increasing diffusion of
malicious applications ("virus" software) on Windows has made
this change an imperative. What has long been a
recommended but rarely used possibility on Windows NT 4.0,
Windows 2000, Windows XP and Windows Server 2003, becomes a more
strict setting in Windows Vista. Although we understand that
this may require some technical skills on versions of Windows
prior to Windows Vista, we do agree and recommend
that everyday operations should not be performed under an
account with administrative privileges, which allows malicious
software to install and execute itself, or to modify system
files.
In practice, these recommendations and changes mean that under a strict security scenario, either desired
by the user or set by the system or by local network policies,
the operating system (and/or antivirus applications) may prevent
non-administrative users from having write access to the
"Program Files" directory, and it may similarly restrict Windows
binary execution privileges in directories such as "My
Documents" and "Shared Documents" ("Documents",
in Windows Vista). This brings with it the requirement of a separation
of the emulation-related data files, which need to be written
even by non-administrative users (e.g. to save an Amiga file, or simply to use the Amiga
operating system itself).
Moving the Amiga and the emulation-related data files into
the "Amiga Files" folder and leaving emulation-related Windows
executable files inside "Program Files" enforces a clear and
functional separation between data files, which require write
access, and files that require
Windows installation and execution privileges. It also satisfies
the guidelines set for Microsoft's Designed for Windows Logo
Program in 2005, while ensuring compatibility with Windows
Vista, set for release in 2006.
The following articles explains how to locate the Amiga
Forever installation files:
Technical Implementation: Amiga Forever
The Amiga Forever installer takes care of creating an "Amiga Files" physical directory, which is accessible by all
users in the "Public\Documents" system folder
("Shared Documents" on older versions of Windows). For
convenience, also because the icon of this public folder may not be
present on the system (it can be disabled in different ways), a
shortcut link to "Amiga Files" is also placed in the "Documents" system folder
("My Documents", in older versions of Windows).
Additionally, the installer:
- Adds an Amiga-specific icon for the folder
- Creates localized versions of the folder name for
certain languages (for display purposes only, with no change
to the physical directory name)
- Sets the %AMIGAFOREVERDATA%
environment variable to point to the folder (typically a
path like "C:\Users\Public\Documents\Amiga Files", or
"C:\Documents and Settings\All Users\Documents\Amiga Files"
on older versions of Windows)
The "Amiga Files" folder contains directories such as
"Shared", "Titles", "WinFellow" and "WinUAE".
The "Titles" directory contains the folders and titles that are displayed in
the main player window. The "WinFellow" and "WinUAE" directories contain configuration, log
and other data files (rather than Windows executable files).
The above applies after hard disk installation, and on the CD
or DVD directory structure on Amiga Forever 2008 and higher. On
older versions of
Amiga Forever CDs and DVDs both executable and data files
are contained in the same "Emulation" directory on the medium,
which in turn contains directories such as "Shared", "Demoscene",
"Games", "WinFellow" and "WinUAE").
To open the Amiga Files folder from
within Amiga Forever select Open Folder/Amiga Files from the
File menu.
Technical Implementation: WinFellow and WinUAE
Before its introduction, the use of "Amiga Files" was
discussed and agreed with the developers of the WinFellow and
WinUAE emulation applications for Windows.
WinUAE (version 1.0 and higher) and WinFellow (version 0.5.1 and higher) check for the existence of "Amiga Files", which,
as installed by Amiga Forever (version 2005 and higher), already
contains "WinFellow" and "WinUAE" subdirectories. Future
versions of WinFellow and WinUAE may create these directories
directly themselves.
If the respective directories exist or can be created,
hard-disk installed versions of WinFellow and WinUAE do the following:
- All log, configuration and other files that are normally
written by the software are written to the respective
("WinFellow" or "WinUAE") directory in "Amiga Files",
rather than to the software installation directory;
- All relative paths (e.g.
"floppy0=..\Shared\adf\amiga-os-120-workbench.adf") in the
configuration files and in command line arguments are
relative to the "WinFellow" or "WinUAE" software directory
in "Amiga Files", rather than the software installation
directory; this means that, since all emulation-specific and
Amiga-general data files are moved in parallel, no change is
required for relative paths used in previous versions of the
software.
If launched from CD or DVD, the emulation software should
ignore the Amiga Files directory on the hard disk, and maintain
relative paths as references to the directory containing the
emulation executables ("old" behavior).
Multi-User Access
"Amiga Files" is a public (shared) resource, meaning that:
- All users can read all files (as in the Amiga operating
system)
- Only administrators and the user who installed or
modified a file can modify that file
If, in a multi-user environment, it becomes desirable to
grant several non-administrator users write access to all Amiga
files, then the security of the "Amiga Files" directory
should be changed accordingly.
Programmatic Access
The Windows CSIDL for the folder which by default contains the "Amiga Files" directory is CSIDL_COMMON_DOCUMENTS. It is valid for
Windows NT 4.0, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8,
Windows 10, Windows 11
and equivalent Windows Server editions, and for Microsoft Windows 95 and Windows 98
systems with Shfolder.dll installed.
Programmatic access to the
default location of the folder is possible via SHGetFolderPath() (if Shfolder.dll is
installed), or via SHGetSpecialFolderLocation(), which is
available in Windows 95 and in newer versions of Windows.
Because a location different from the
default may have been set at installation
time (or later, via Change Folder Location),
it is recommended to use the
%AMIGAFOREVERDATA%
environment variable to locate the folder.
Changing the Folder Location
The initial installation directory can be specified by selecting the
Advanced options in the software installer.
To move the entire content of the Amiga
Files (or CBM Files, etc.) directory to a
new location after it has already been
installed, right-click the folder in the
player, and select Change Folder Location.
This will move the files and also update
internal references, such as system registry
values and the %AMIGAFOREVERDATA%
environment variable.
Related Links