FGet - Download a file
FGet.exe downloads a single file using the HTTP, HTTPS, FTP or FILE protocols. It is a small program (53 KB) that can be used to download files from the command line, or during installation by running it in a custom action (QuickInstall 2) or Run Program action (ExpertInstall 3).
(Note that Installer 5, InstallMate 7, and InstallMate 9 have a built-in Download File action that offers equivalent functionality.)
Initial progress window:
Progress window after clicking Details...
This program is copyright © 1990-2016 Tarma Software Research Ltd.
You may freely use this program for personal or internal business uses only. You may not incorporate the program either wholly or in part into any product or publication, or otherwise distribute the program without express written permission from Tarma Software Research Ltd. However, you may provide links to this program's web page.
Tarma Software Research Ltd is not liable for errors or omissions in this program.
- Download FGet.exe (version 18.104.22.16851, 16 April 2016)
The download package contains two versions of the FGet.exe tool:
- FGetA.exe is the ANSI version for use on Windows 95, 98, Me;
- FGetW.exe is the Unicode version for use on Windows NT4, 2000, XP, Vista, 7, 8, and their Server editions.
System requirements: Runs on all Windows 9x and later versions, including NT4, 2000, XP, Vista, 7, 8, and their Server editions. Requires Internet Explorer 4 or later to be installed on the system.
FGet /? FGet [/d][/f][/n][/p][/q][/r][/v][/x][/wn] URL [localpath]
The first form displays a syntax summary and exits. The second form tries to download the file given by URL and store it locally.
|FGet||Name of the program; .exe is implied. You may have to use a fully qualified file path if FGet.exe is located in a folder that does not appear in your PATH environment variable.|
|/?||Display a message box with version info and syntax summary; exit when the user closes the message box.|
|/d||Start with download details visible. This displays the Remote URL and Local path fields that are otherwise hidden until the user clicks the Details... button.|
|/f||Force output. If this parameter is given, FGet will overwrite the existing local file even if it's read-only. Without this parameter, an existing read-only local file will be preserved and no download takes place. (Writable local files are always overwritten without warning.)|
|/n||Only download remote file if it is newer than the local file or the local file does not exist. This option is useful to check for updates, especially when combined with the /r (reload) option.|
|/p||Uses passive FTP if the FTP protocol is specified in the URL; has no effect on other protocols. Passive FTP is recommended for compatibility with firewalls.|
|/q||Run in quiet mode, i.e., without displaying progress information. Without this parameter, FGet displays a progress dialog box during the download. The /q option cancels any previous /v option.|
Force a reload of the file from the server, bypassing the local cache. This is useful if you know or suspect that the file has been updated on the server, but the FGet cache still contains an old version.
(Note that FGet uses the Internet Explorer cache, so you can clear the download cache by using the Internet Options control panel in Windows to clear the Internet Explorer cache.)
|/v||Run in verbose mode, i.e., display progress information and error messages, if any. Also display a message box when the download is complete. The /v option cancels any previous /q option.|
|/wn||Wait for up to n seconds after the download completes until the file is available. Even after FGet completes the download and closes its handle to the local file, the local file is not always immediately available for re-opening, presumably due to Windows internal caching. With this parameter, FGet will repeatedly try to open the local file and only exit after it succeeds or the wait period expires.|
Only check for the existence of the remote file; do not try to download anything. You can combine this option with the /n (newer) option; the combination of /n /x tests if a newer remote file exists without actually trying to download it.
The exit code is 0 (ERROR_SUCCESS) if the remote file exists (and, if /n is specified, is newer than the existing local file or there is no existing local file), or nonzero if the remote file does not exist, is same age or older than existing local file (only tested if /n is also specified), or some error occurred.
Fully qualified URL of the file that must be downloaded. This can take on one of the following forms:
In all cases, server must be a server address that is valid for the protocol (typical examples are www.tarma.com for HTTP and HTTPS; ftp.tarma.com for FTP); it may include protocol-specific qualifiers such as www.tarma.com:8080 (a port number for HTTP) or firstname.lastname@example.org (a user name for FTP). Note that for the FILE protocol the server portion is empty; hence the three consecutive /// characters in that case.
/path/to/file is the fully qualified path to the file on the server.
|localpath||Optional file name or path for the local copy of the download file. If this parameter is missing, then FGet will use the file (rightmost) component of the URL parameter as the local file name of the download file.|
If FGet is successful, it will return an exit code of 0 (ERROR_SUCCESS); if an error occurs or the download could not complete, a nonzero Win32 error code is returned. The following are some of the most common exit codes, but others might also occur. Consult the Windows error code list for more information.
|0||ERROR_SUCCESS||Success. The remote file was successfully downloaded, or the /x option was specified and the remote file's existence was confirmed without actual download. If /n was also specified, then the remote file was newer than the existing local file or the local file did not exist.|
|2||ERROR_FILE_NOT_FOUND||Remote file does not exist, or the local file path is invalid.|
|3||ERROR_PATH_NOT_FOUND||Remote file does not exist, or the local file path is invalid.|
|5||ERROR_ACCESS_DENIED||Local file exists and is read-only, and the /f or /x options were not specified.|
|80||ERROR_FILE_EXISTS||Local file exists, the /n option was specified, and the remote file was not newer than the existing local copy.|
|87||ERROR_INVALID_PARAMETER||Invalid command line option.|
|1223||ERROR_CANCELLED||The user cancelled the download.|
|Others||Consult the Windows error code list for more information|
The current version of FGet does not allow for interaction during the download process. This means that you cannot use it for downloads that require proxy or server-side authentication. You can use FGet across transparent proxies (i.e., proxies that do not require authentication).
Here are some usage examples.
- FGet /?
- Displays a message box with the syntax summary and version info, and exits when the message box is closed.
- FGet http://www.tarma.com/download/update.txt
- Downloads the file update.txt from Tarma's web server and stores it in the current directory under that same name. During the download process, a progress indicator is shown.
- FGet /w10 /q http://www.tarma.com/download/update.txt C:\Temp\Test.ini
- Downloads the same file but stores it in C:\Temp\Test.ini. No progress indicator is shown, and FGet waits up to 10 seconds after the download completes for the file to become locally available.
- FGet /n /r http://www.tarma.com/download/tin7.exe
- Downloads tin7.exe from Tarma's web site, but only if it's newer (/n option) than the local copy in the current folder. The download bypasses the cache and always goes straight to the server (/r option) to make sure that no stale information is used.