Knowledge

Portable application

Source đź“ť

140: 40: 81: 587:
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 the user to perform a home directory install, labelled "Install for me only" in
390:
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
879:
You can use a special keyword $ ORIGIN to say 'relative to the actual location of the executable'. Suddenly we found we could use -rpath $ ORIGIN/lib and it worked. The game was loading the correct libraries, and so was stable and portable, but was also now completely in the spirit of the LGPL as
246:
In practical terms, 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
1056:
I, as the app maintainer, don't want my app bundled in a distribution anymore. Way to much pain for absolutely zero gain. Whenever I get a bug report my first question is "oh, which version of which distribution? which version of which library? What set of insane patches were applied to those
938:
If Hearn is correct, the real lesson of Autopackage is not how to improve software installation, but the difficulty -- perhaps the impossibility -- of large-scale changes in Linux architecture this late in its history. It's a sobering, disappointing conclusion to a project that once seemed so
215: 368:: 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. 906:
The Linux community, in their infinite wisdom, proceeds to flame the hell out of CDE. "We should all just be using package management." Here is what I want to say, and let my words be carried down from the mountaintops, written on tiny stone tablets: Package management is not a universal
383:, not only for 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 1008:
I have seen this first hand with the other project I'm involved with, which is my dive log app. We make binaries for Windows and OSX, we basically don't make binaries for Linux. Why? Because making binaries for Linux desktop applications is a major fucking pain in the
1150: 387:(OS) without mutual conflicts. As the ported components do not affect the OS-protected related entities (registry and files), the components will not require administrative privileges for installation and management. 512:, or CDE, but which gained only limited acceptance and support in the Linux community in the 2000s. Around 2015 the idea of portable and distro independent packing for the Linux ecosystem got more traction when 242:
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.
445:)—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 the 274:—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 1057:
libraries?". No, Windows and Mac get this right. I control the libraries my app runs against. With an AppImage I can give them just that. Something that runs on their computer.
331:
Most portable applications do not leave files or settings on the host computer or modify the existing system and its configuration. The application may not write to the
357:
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
483:
A Linux application without need for a user-interaction (e.g. adapting a script or environment variable) on varying directory paths can be achieved with the
863: 1129: 361:
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.
408: 343:, but today, many portables do; many, however, still store their configuration files in the portable directory. Another possibility, since 982: 358: 413:
Programs written with a Unix-like base in mind often do not make any assumptions. Whereas many Windows programs assume the user is an
952: 364:
An alternative strategy for achieving application portability within Windows, without requiring application source code changes, is
293:
Some applications which are not portable by default do support optional portability through other mechanisms, the most common being
563:
Many Mac applications that can be installed by drag-and-drop are inherently portable as Mac application bundles. Examples include
53: 575:
which do not require admin access and do not need to be placed into a central, restricted area. Applications placed into
1116: 201: 183: 121: 67: 893: 165: 1070: 921: 1034:
I finally got around to play with the "AppImage" version of +Subsurface, and it really does seem to "just work".
867: 150: 770: 614: 540:
followed in 2016 and started to use AppImage builds for software deployment. RedHat released in 2016 the
294: 1177: 636: 365: 602: 557: 308:
Like any application, portable applications must be compatible with the computer system hardware and
103: 59: 749: 703: 553: 99: 28: 484: 348: 275: 161: 583:) are registered with macOS LaunchServices in the same way as applications placed into the main 376: 157: 529: 1047: 1025: 497:
Not all programs honor this—some completely ignore $ HOME and instead do a user look-up in
451: 263: 20: 956: 504:
There are also cross-distro package formats that do not require admin rights to run, like
8: 663: 549: 251: 91: 24: 840: 235: 467: 680: 675: 641: 624: 384: 372: 344: 332: 309: 239: 564: 479:
HOME=/mnt/home/user LD_LIBRARY_PATH=/mnt/usr/lib /mnt/usr/bin/w3m www.example.com
267: 259: 219: 475:
contains the portable programs and configuration, a command line may look like:
471:
that programs can use to load libraries from non-standard directories. Assuming
1021: 978: 646: 513: 340: 1171: 1099: 668: 629: 588:
the Installer user interface. Such an installation is performed as the user.
572: 438: 352: 434: 255: 505: 404: 271: 1078: 607: 597: 487: 430: 426: 422: 418: 925: 796: 548:
project which was inspired by klik (now called AppImage). Similarly,
533: 442: 414: 287: 819: 168:. Statements consisting only of original research should be removed. 1051: 1029: 774: 653: 619: 525: 521: 509: 336: 319:
is more or less complex to implement; to operating systems such as
301:
to simply instruct the program to behave as a portable program, or
820:"Secrets of the Application Compatilibity Database (SDB) – Part 1" 214: 990: 541: 517: 380: 371:
The same approach is used for individual application components:
320: 283: 996: 447: 279: 465:
browser). The dynamic linker provides an environment variable
658: 568: 537: 501:
to find the home directory, therefore thwarting portability.
391:
did not make any of this technology available via its system
724: 347:
will often differ on changing computers due to variation in
725:"Free Portable Apps and Games for USB â–· Pendrive Software" 462: 392: 544:
system, which is a successor of Alexander Larsson's
351:, is that portable applications may store them in a 398: 698: 696: 1169: 326: 693: 323:, all applications are by definition portable. 977: 494:which allows a relative library search path. 335:or store its configuration files (such as an 971: 771:"Portable Application Conversion Technology" 305:to specify the configuration file location. 247:options can also be a portable application. 102:. There might be a discussion about this on 922:"Autopackage struggling to gain acceptance" 250:Portable applications can be stored on any 68:Learn how and when to remove these messages 286:. Some applications are available in both 1117:Experiments with run-timeless app bundles 417:—something very prevalent in the days of 202:Learn how and when to remove this message 184:Learn how and when to remove this message 122:Learn how and when to remove this message 861: 213: 1045: 919: 913: 894:"Dear Linux Community: We Need To Talk" 1170: 891: 1020: 955:. Elementary Project. Archived from 133: 74: 33: 855: 817: 315:Depending on the operating system, 13: 885: 14: 1189: 1068: 773:. Sphinx Software. Archived from 49:This article has multiple issues. 399:Portability on Unix-like systems 138: 79: 38: 1143: 1130:"Distributing Your Application" 1122: 1110: 1092: 1062: 1039: 1014: 945: 892:Vining, Nicholas (2010-10-13). 862:Hustvedt, Eskild (2009-02-08). 797:"Portable Application Registry" 222:can carry portable applications 57:or discuss these issues on the 864:"Our new way to meet the LGPL" 833: 811: 789: 763: 752:. PortableApps.com. Guidelines 742: 717: 706:. PortableApps.com. Definition 560:and many other Linux distros. 1: 1071:"MuseScore 2.0.3 is released" 983:"Q&A with Linus Torvalds" 920:Byfield, Bruce (2007-02-12). 686: 615:Portable application creators 327:Portable Windows applications 1151:"Distribution XML Reference" 1046:Hohndel, Dirk (2015-11-25). 577:/Users/username/Applications 516:discussed this topic on the 266:or external storage such as 7: 1077:. MuseScore. Archived from 924:. linux.com. Archived from 750:""What is a Portable App?"" 591: 164:the claims made and adding 10: 1196: 637:Application virtualization 402: 366:application virtualization 18: 704:"What is a portable app?" 603:List of portable software 359:use of a launcher program 297:. Examples might include 234:), sometimes also called 1048:"This is just very cool" 1026:"This is just very cool" 520:2014 and endorsed later 454:to store settings (e.g. 349:drive letter assignments 29:multiarchitecture binary 19:Not to be confused with 16:Type of computer program 429:(and to some degree in 290:and portable versions. 1119:by Alex Larsson (2007) 295:command-line arguments 223: 1153:. developer.apple.com 1132:. developer.apple.com 254:, including internal 217: 1106:. Krita. 2016-05-31. 1100:"Krita 3.0 Released" 959:on December 13, 2010 843:. Microsoft Research 777:on September 7, 2010 452:environment variable 228:portable application 92:confusing or unclear 21:software portability 880:well as the letter! 664:Portable-VirtualBox 303:--cfg=/path/inifile 252:data storage device 236:standalone software 100:clarify the article 25:portable executable 373:run-time libraries 224: 149:possibly contains 1178:Portable software 552:released in 2016 270:, pen drives and 212: 211: 204: 194: 193: 186: 151:original research 132: 131: 124: 72: 1185: 1162: 1161: 1159: 1158: 1147: 1141: 1140: 1138: 1137: 1126: 1120: 1114: 1108: 1107: 1096: 1090: 1089: 1087: 1086: 1066: 1060: 1059: 1043: 1037: 1036: 1018: 1012: 1011: 1005: 1004: 987: 975: 969: 968: 966: 964: 949: 943: 942: 934: 933: 917: 911: 910: 902: 901: 889: 883: 882: 876: 875: 866:. Archived from 859: 853: 852: 850: 848: 837: 831: 830: 828: 826: 815: 809: 808: 806: 804: 793: 787: 786: 784: 782: 767: 761: 760: 758: 757: 746: 740: 739: 737: 736: 729:pendriveapps.com 721: 715: 714: 712: 711: 700: 681:Interoperability 676:Data portability 642:Turbo (software) 625:PortableApps.com 586: 582: 578: 532:. For instance, 500: 493: 480: 474: 470: 460: 450: 437:, though not in 385:operating system 339:) in the user's 333:Windows registry 310:operating system 304: 300: 278:storage such as 240:computer program 207: 200: 189: 182: 178: 175: 169: 166:inline citations 142: 141: 134: 127: 120: 116: 113: 107: 83: 82: 75: 64: 42: 41: 34: 1195: 1194: 1188: 1187: 1186: 1184: 1183: 1182: 1168: 1167: 1166: 1165: 1156: 1154: 1149: 1148: 1144: 1135: 1133: 1128: 1127: 1123: 1115: 1111: 1098: 1097: 1093: 1084: 1082: 1067: 1063: 1044: 1040: 1022:Torvalds, Linus 1019: 1015: 1002: 1000: 985: 976: 972: 962: 960: 951: 950: 946: 931: 929: 918: 914: 899: 897: 896:. Gaslamp Games 890: 886: 873: 871: 860: 856: 846: 844: 839: 838: 834: 824: 822: 818:Ionescu, Alex. 816: 812: 802: 800: 795: 794: 790: 780: 778: 769: 768: 764: 755: 753: 748: 747: 743: 734: 732: 723: 722: 718: 709: 707: 702: 701: 694: 689: 594: 584: 580: 576: 565:Mozilla Firefox 498: 491: 478: 472: 468:LD_LIBRARY_PATH 466: 455: 446: 411: 401: 329: 302: 298: 208: 197: 196: 195: 190: 179: 173: 170: 155: 143: 139: 128: 117: 111: 108: 97: 84: 80: 43: 39: 32: 17: 12: 11: 5: 1193: 1192: 1181: 1180: 1164: 1163: 1142: 1121: 1109: 1091: 1069:Weiss, Isaac. 1061: 1038: 1013: 981:(2014-08-29). 979:Linus Torvalds 970: 944: 912: 884: 854: 832: 810: 788: 762: 741: 716: 691: 690: 688: 685: 684: 683: 678: 673: 672: 671: 666: 661: 651: 650: 649: 647:VMware ThinApp 644: 634: 633: 632: 627: 622: 612: 611: 610: 600: 593: 590: 581:~/Applications 514:Linus Torvalds 400: 397: 379:components or 328: 325: 210: 209: 192: 191: 146: 144: 137: 130: 129: 87: 85: 78: 73: 47: 46: 44: 37: 15: 9: 6: 4: 3: 2: 1191: 1190: 1179: 1176: 1175: 1173: 1152: 1146: 1131: 1125: 1118: 1113: 1105: 1101: 1095: 1081:on 2016-04-23 1080: 1076: 1075:MuseScore.org 1072: 1065: 1058: 1053: 1049: 1042: 1035: 1031: 1027: 1023: 1017: 1010: 998: 994: 993:2014 Portland 992: 984: 980: 974: 958: 954: 948: 941: 940: 928:on 2008-03-31 927: 923: 916: 909: 908: 895: 888: 881: 870:on 2009-02-20 869: 865: 858: 842: 836: 821: 814: 798: 792: 776: 772: 766: 751: 745: 730: 726: 720: 705: 699: 697: 692: 682: 679: 677: 674: 670: 669:Windows To Go 667: 665: 662: 660: 657: 656: 655: 652: 648: 645: 643: 640: 639: 638: 635: 631: 628: 626: 623: 621: 618: 617: 616: 613: 609: 606: 605: 604: 601: 599: 596: 595: 589: 585:/Applications 574: 573:Google Chrome 570: 566: 561: 559: 555: 554:Snap packages 551: 547: 543: 539: 535: 531: 527: 523: 519: 515: 511: 507: 502: 495: 489: 486: 481: 476: 469: 464: 458: 453: 449: 444: 440: 439:Windows Vista 436: 432: 428: 424: 420: 416: 415:administrator 410: 406: 396: 394: 388: 386: 382: 378: 374: 369: 367: 362: 360: 356: 355: 350: 346: 342: 338: 334: 324: 322: 318: 313: 311: 306: 296: 291: 289: 285: 281: 277: 273: 269: 265: 264:cloud storage 261: 257: 253: 248: 244: 241: 237: 233: 229: 221: 216: 206: 203: 188: 185: 177: 167: 163: 159: 153: 152: 147:This article 145: 136: 135: 126: 123: 115: 105: 104:the talk page 101: 95: 93: 88:This article 86: 77: 76: 71: 69: 62: 61: 56: 55: 50: 45: 36: 35: 30: 26: 22: 1155:. Retrieved 1145: 1134:. Retrieved 1124: 1112: 1103: 1094: 1083:. Retrieved 1079:the original 1074: 1064: 1055: 1041: 1033: 1016: 1007: 1001:. Retrieved 989: 973: 961:. Retrieved 957:the original 947: 937: 936: 930:. Retrieved 926:the original 915: 905: 904: 898:. Retrieved 887: 878: 872:. Retrieved 868:the original 857: 845:. Retrieved 835: 823:. Retrieved 813: 801:. Retrieved 791: 779:. Retrieved 775:the original 765: 754:. Retrieved 744: 733:. Retrieved 731:. 2007-01-08 728: 719: 708:. Retrieved 562: 545: 528:application 503: 496: 482: 477: 456: 412: 409:Zero Install 389: 370: 363: 353: 330: 316: 314: 307: 292: 272:floppy disks 256:mass storage 249: 245: 232:portable app 231: 227: 225: 198: 180: 171: 148: 118: 109: 98:Please help 89: 65: 58: 52: 51:Please help 48: 963:January 19, 953:"AppImages" 847:January 19, 825:January 19, 803:January 19, 781:January 19, 506:Autopackage 499:/etc/passwd 405:Autopackage 317:portability 288:installable 174:August 2009 1157:2017-05-23 1136:2017-05-23 1085:2016-04-05 1003:2016-05-14 999:.net. 6:28 939:promising. 932:2012-01-21 900:2011-01-30 874:2011-03-09 756:2022-11-15 735:2024-06-17 710:2022-11-15 687:References 608:WinPenPack 598:Load drive 530:Subsurface 431:Windows XP 419:Windows 95 403:See also: 345:file paths 268:USB drives 260:file share 158:improve it 112:April 2018 94:to readers 54:improve it 1104:Krita.org 841:"Detours" 550:Canonical 534:MuseScore 443:Windows 7 299:/portable 276:read-only 220:USB drive 162:verifying 60:talk page 1172:Category 907:panacea. 799:. ip.com 654:Live USB 620:LiberKey 592:See also 526:dive log 524:for his 522:AppImage 510:AppImage 492:$ ORIGIN 461:for the 354:relative 337:INI file 284:DVD-ROMs 1052:Google+ 1030:Google+ 991:DebConf 986:(video) 542:Flatpak 518:DebConf 490:option 381:ActiveX 341:profile 321:AmigaOS 280:CD-ROMs 238:, is a 156:Please 90:may be 997:debian 558:Ubuntu 488:Linker 457:$ HOME 659:Ceedo 569:Skype 546:glick 538:Krita 459:/.w3m 27:, or 1009:ass. 965:2012 849:2012 827:2012 805:2012 783:2012 571:and 556:for 536:and 473:/mnt 448:HOME 435:2000 407:and 393:APIs 282:and 258:, a 485:GCC 463:w3m 441:or 377:COM 160:by 1174:: 1102:. 1073:. 1054:. 1050:. 1032:. 1028:. 1024:. 1006:. 995:. 988:. 935:. 903:. 877:. 727:. 695:^ 630:U3 567:, 508:, 427:ME 423:98 395:. 375:, 312:. 262:, 226:A 218:A 63:. 23:, 1160:. 1139:. 1088:. 967:. 851:. 829:. 807:. 785:. 759:. 738:. 713:. 579:( 433:/ 425:/ 421:/ 230:( 205:) 199:( 187:) 181:( 176:) 172:( 154:. 125:) 119:( 114:) 110:( 106:. 96:. 70:) 66:( 31:.

Index

software portability
portable executable
multiarchitecture binary
improve it
talk page
Learn how and when to remove these messages
confusing or unclear
clarify the article
the talk page
Learn how and when to remove this message
original research
improve it
verifying
inline citations
Learn how and when to remove this message
Learn how and when to remove this message

USB drive
standalone software
computer program
data storage device
mass storage
file share
cloud storage
USB drives
floppy disks
read-only
CD-ROMs
DVD-ROMs
installable

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑