MiKTeX is a free and open-source distribution of the TeX / LaTeX typesetting system compatible with Linux, MacOS, and Windows. It also contains a set of related programs. MiKTeX provides the tools necessary to prepare documents using the TeX/LaTeX markup language , as well as a simple TeX editor, TeXworks . The name comes from the login credentials of the chief developer Christian Schenk, MiK for Micro-Kid.
19-422: MiKTeX can update itself by downloading new versions of previously installed components and packages, and has an easy installation process. By default, MiKTeX installs only a minimal set of packages (according to the philosophy of "just enough TeX"), which is useful in case of the limited space. It will then ask users whether they wish to download any packages that have not yet been installed but are required to render
38-524: A file share , cloud storage or external storage such as USB drives , pen drives and floppy disks —storing its program files and any configuration information and data on the storage medium alone. If no configuration information is required a portable program can be run from read-only storage such as CD-ROMs and DVD-ROMs . Some applications are available in both installable and portable versions. Some applications which are not portable by default do support optional portability through other mechanisms,
57-650: A Unix-like base in mind often do not make any assumptions. Whereas many Windows programs assume the user is an administrator —something very prevalent in the days of Windows 95 / 98 / ME (and to some degree in Windows XP / 2000 , though not in Windows Vista or Windows 7 )—such would quickly result in "Permission denied" errors in Unix-like environments since users will be in an unprivileged state much more often. Programs are therefore generally designed to use
76-492: A central, restricted area. Applications placed into /Users/username/Applications ( ~/Applications ) are registered with macOS LaunchServices in the same way as applications placed into the main /Applications folder. For example, right-clicking a file in Finder and then selecting "Open With..." will show applications available from both /Applications and ~/Applications. Developers can create Mac product installers which allow
95-422: A portable application often stores user-created data and configuration settings in the same directory it resides in. This makes it easier to transfer the program with the user's preferences and data between different computers. A program that doesn't have any configuration options can also be a portable application. Portable applications can be stored on any data storage device , including internal mass storage ,
114-609: A user-interaction (e.g. adapting a script or environment variable) on varying directory paths can be achieved with the GCC Linker option $ ORIGIN which allows a relative library search path. Not all programs honor this—some completely ignore $ HOME and instead do a user look-up in /etc/passwd to find the home directory, therefore thwarting portability. There are also cross-distro package formats that do not require admin rights to run, like Autopackage , AppImage , or CDE, but which gained only limited acceptance and support in
133-454: Is application virtualization : An application is "sequenced" or "packaged" against a runtime layer that transparently intercepts its file system and registry calls, then redirects these to other persistent storage without the application's knowledge. This approach leaves the application itself unchanged, yet portable. The same approach is used for individual application components: run-time libraries , COM components or ActiveX , not only for
152-586: Is that portable applications may store them in a relative format. While some applications have options to support this behavior, many programs are not designed to do this. A common technique for such programs is the use of a launcher program to copy necessary settings and files to the host computer when the application starts and move them back to the application's directory when it closes. An alternative strategy for achieving application portability within Windows, without requiring application source code changes,
171-519: The HOME environment variable to store settings (e.g. $ HOME /.w3m for the w3m browser). The dynamic linker provides an environment variable LD_LIBRARY_PATH that programs can use to load libraries from non-standard directories. Assuming /mnt contains the portable programs and configuration, a command line may look like: HOME=/mnt/home/user LD_LIBRARY_PATH=/mnt/usr/lib /mnt/usr/bin/w3m www.example.com A Linux application without need for
190-533: The Flatpak system, which is a successor of Alexander Larsson's glick project which was inspired by klik (now called AppImage). Similarly, Canonical released in 2016 Snap packages for Ubuntu and many other Linux distros. Many Mac applications that can be installed by drag-and-drop are inherently portable as Mac application bundles. Examples include Mozilla Firefox , Skype and Google Chrome which do not require admin access and do not need to be placed into
209-532: The Linux community in the 2000s. Around 2015 the idea of portable and distro independent packing for the Linux ecosystem got more traction when Linus Torvalds discussed this topic on the DebConf 2014 and endorsed later AppImage for his dive log application Subsurface . For instance, MuseScore and Krita followed in 2016 and started to use AppImage builds for software deployment. RedHat released in 2016
SECTION 10
#1732798343269228-487: The components will not require administrative privileges for installation and management. Microsoft saw the need for an application-specific registry for its Windows operating system as far back as 2005. It eventually incorporated some of this technology, using the techniques mentioned above, via its Application Compatibility Database using its Detours code library, into Windows XP. It did not make any of this technology available via its system APIs . Programs written with
247-572: The current document. A portable version of MiKTeX, as well as a command-line installer of it, are also available. The latest version of MiKTeX is available at the MiKTeX homepage. In June 2020, Schenk decided to change the numbering convention; the new one is based on the release date. Thus 20.6 was released in June 2020. Since version 2.7, MiKTeX has support for XeTeX , MetaPost and pdfTeX and compatibility with Windows 7 . Support for 32-bit computers
266-462: The entire application. As a result, when individual components are ported in such manner they are able to be: integrated into original portable applications, repeatedly instantiated (virtually installed) with different configurations/settings on the same operating system (OS) without mutual conflicts. As the ported components do not affect the OS-protected related entities (registry and files),
285-501: The host computer or modify the existing system and its configuration. The application may not write to the Windows registry or store its configuration files (such as an INI file ) in the user's profile , but today, many portables do; many, however, still store their configuration files in the portable directory. Another possibility, since file paths will often differ on changing computers due to variation in drive letter assignments ,
304-579: The most common being command-line arguments . Examples might include /portable to simply instruct the program to behave as a portable program, or --cfg=/path/inifile to specify the configuration file location. Like any application, portable applications must be compatible with the computer system hardware and operating system . Depending on the operating system, portability is more or less complex to implement; to operating systems such as AmigaOS , all applications are by definition portable. Most portable applications do not leave files or settings on
323-405: The shortcuts in one place so they are easier to find. In the comparison of desktop application launchers that follows, each section is devoted to a different desktop environment . These desktop application launchers work with Microsoft Windows operating systems only. These desktop application launchers work with Linux operating systems only. These desktop application launchers work with
342-461: The user to perform a home directory install, labelled "Install for me only" in the Installer user interface. Such an installation is performed as the user. Comparison of desktop application launchers An application launcher is a computer program that helps a user to locate and start other computer programs. An application launcher provides shortcuts to computer programs, and stores
361-620: Was dropped in 2022 and for Windows 7 in 2023. This digital typography article is a stub . You can help Misplaced Pages by expanding it . This free and open-source software article is a stub . You can help Misplaced Pages by expanding it . Portable application A portable application ( portable app ), sometimes also called standalone software , is a computer program designed to operate without changing other files or requiring other software to be installed. In this way, it can be easily added to, run, and removed from any compatible computer without setup or side-effects. In practical terms,
#268731