====== Application Manager Portable (“AMP”) Infosheet ====== **This is the archived version, see also the [[updater|development version]]** PLEASE NOTE: None of this has been implemented yet, nor is it final. Application Manager Portable uses a Debian-like package management system, involving two components: a client application suite and a server repository. Multiple server repositories can be enabled. ===== Client Application Suite ===== Application Manager Portable includes several applications and data files, listed below: * /Data/Settings/sources.ini – This file contains a list of repositories that AMP can access. * /Data/Repos/apps-subdomain.servername.tld.ini – These files contain lists of applications available for download from each server. For example, a user could have the files apps-amp.portableapps.com.ini and apps-amp.cubegames.net.ini saved on their drives, each file containing apps available at those websites. Each server stores a master copy of their .ini file, and update.exe updates local copies each time it is run. * /Data/Settings/installed.ini – This file contains a list of currently installed applications and their versions. * /App/AMP/update.exe – This application synchronizes all local copies of apps-subdomain.servername.tld.ini with the appropriate server-side copies. * /App/AMP/upgrade.exe – This application compares the data in installed.ini with that in the local copies of apps-subdomain.servername.tld.ini, and determines which applications have new versions available for download. It then presents the user with the available upgrades, who has three options: * Accept some or all upgrades * Delay some or all upgrades * Permanently prevent some or all upgrades * /App/AMP/install.exe – This application runs update.exe, and then presents the user with a list of applications available for download and install. The user can select an application to view information about it (either a description saved in the apps-subdomain.servername.tld.ini files, or a link to the website), and selects those applications he or she wishes to install. install.exe downloads the requested files to the Windows TEMP folder, then installs them. * /App/AMP/uninstall.exe – This application shows a list of installed applications, and provides the user with two choices for each installed application: * Remove completely: Delete the application folder and its data folder. * Remove partially: Delete the application folder, leaving the data folder alone. * /AMP.exe – This application acts as a GUI and launcher for all the other applications The following is a sample directory structure. Application Manager Portable uses this directory structure by default; other directory structures may be implemented in the future. PortableApps/ ApplicationManager/ (files mentioned above; organization TBD) FirefoxPortable/ (files) ===== Server Side ===== No software has to be installed on the server—the only requirement is a certain directory structure. No other files may be kept under the AMP directory, other than packages and required INIs. Other files must be kept in separate directories. A sample of this directory structure is listed here: AMP/ apps-amp.portableapps.com.ini f/ fi/ firefox-2.0.0.3.paf.exe Files are organized in a way similar to that used by SourceForge.net. When installing an application, both the application and the data packages are used; when upgrading an application, only the application package is used so as not to overwrite current settings. ===== Package Format ===== Package files have the . paf.exe suffix, and are packaged in accordance with the PAF specifications. They may be 7-zip self extractors or NSIS installers, but must accept certain command line parameters. For example, the Firefox Portable package might look like this: /FirefoxPortable App (files) Data/ (files) Other/ (files; possibly source, readmes, etc.) FirefoxPortable.exe All extractors must accept the following command line parameters: -oC:\PortableApps\ -y -/SILENT=YES /DESTINATION=C:\PortableApps\ -o is output directory. -y is Assume Yes on dialogs. -/SILENT is silent install. /DESTINATION is the destination directory, which is redundant as –o sets the output directory.