Каква е разликата между самостоятелен и инсталиран изпълним файл?
Докато повечето от нас са доволни да се придържат към "изпитания и истински" процес на инсталиране на изпълними файлове за любимия ни софтуер, наистина ли е необходимо да го направите? Можем ли действително да извлечем тези същите изпълними файлове, вместо да ги инсталираме, и да ги изпълним по същия начин, както и техните самостоятелни братовчеди?
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Въпроса
Четецът на SuperUser Том Турция иска да знае каква е разликата между самостоятелен и инсталиран изпълним файл:
Най-малкото забелязах в Windows, че можете да изтеглите директен, статично свързан изпълним файл и да го стартирате директно, или да напишете собствена програма и да я изпълните (дори динамично), без да се налага да го инсталирате.
Това ме довежда до основната ми точка… каква е целта на инсталационния процес? Искам да кажа освен може би на системния регистър на Windows. Въпреки това, за целите на практичността и използването, е възможно да има една, независима, самостоятелна програма, която може да бъде стартирана, съхранена на енергонезависима памет и достъпна чрез файловата система на каквото и да е устройство, и да се изпълни на операционната система..
Така че каква е голямата сделка с "инсталирането на този" бизнес, ако много велики програми на практика някаква величина могат да работят перфектно, без да минават през инсталационна конфигурация? Малко ме озадачава, а освен базата данни или други метаданни / системи за конфигуриране на достъпа, каква е истинската разлика тук, ако последният (инсталиран изпълним файл) изпълнява и работи по същия начин като самостоятелен?
Има ли някаква разлика, че не съм наясно с неинсталирана програма срещу инсталирана?
PS: Това не само трябва да се прилага за операционните системи на Windows, но и всички, които реализират подобна функция.
Има ли наистина толкова голяма разлика между самостоятелни и инсталирани изпълними файлове, или те са по-сходни, отколкото можем да подозираме?
Отговорът
Сътрудникът на SuperUser Wyatt8740 има отговор за нас:
Кратък отговор: самостоятелният exe не изисква инсталиране на библиотеки на компютъра и не изисква записи в системния регистър или други компоненти.
Инсталираният файл може да бъде самостоятелен в инсталационния пакет, но обикновено зависи от различни компоненти и библиотеки, инсталирани заедно с него..
В много случаи чрез използването на Universal Extractor (неофициална актуализация: тук) можете да извлечете съдържанието на инсталатора и да стартирате програма без администраторски права в Windows. Инсталаторите на MSI могат да бъдат разопаковани с lessmsi.
В повечето други операционни системи всички програми могат да се изпълняват без root / администраторски права, чрез специфични за потребителя 'bin', 'lib' и други директории в домашната директория. Лично аз пренебрегвам по-голямата част от времето на инсталаторите, защото за мен е по-трудно да използвам програми без административни привилегии, когато ги нямам. Но те са опаковани по такъв начин от големите компании, че да опростят процеса за средния краен потребител.
Докато научихме, че е възможно да извличаме и пускаме част от любимия ни софтуер като самостоятелни изпълними файлове, понякога просто не избягваме стария процес на инсталиране, за да използваме програма, която харесваме или се нуждаем от нашата система.
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия (с много разширени отговори) тук.