Чому деякі програми вимагають встановлення, а інші - ні?


3

Я думаю, що це в основному справа Windows, але чому деякі програми потрібно встановити, щоб вони працювали належним чином, а потім видаляли їх, щоб видалити, де деякі інші приходять як виконувані файли, які можна запускати та видаляти самостійно?


2
Більшість програм насправді не потрібно встановлювати. Це повністю залежить від бажання автора програми. Є кілька причин, з якими програміст намагався створити інсталятор для своєї програми. Питання, яке зараз написано, надзвичайно широке. Будь ласка, зменшіть обсяг свого питання до практичної проблеми.
— Рамхаунд

1
@Ramhound ти не зовсім прав. Існує лише одна причина, чому деякі програми вимагають встановлення, а інші - використання спільних dll.
— LPChip

1
Якби я мав надати копію певної версії одного з DLL, встановленого перерозподілом Visual C ++, і розмістив її в простому стислому архіві, ця програма використала б цю копію цього файлу перед будь-яким іншим файлом у системі. Тому я не дуже згоден із твердженням, що спільні файли бібліотек є причиною використання інсталяторів.
— Рамхаунд

Як програміст, це я дізнався. Але я думаю, що це питання думки.
— LPChip

1
Я можу погодитися, що це залежить від спільного файлу. Проблема з широкими твердженнями полягає в тому, що я можу написати простий .bat скрипт, який робить усе, що зазвичай робить інсталятор .msi. Раніше єдиний раз, коли мені довелося скриптувати інсталятор для однієї з моїх програм, була бібліотека COM COM, тобто тому, що під час процесу інсталятора, як правило, реєструвалася створена мною бібліотека COM COM.
— Рамхаунд

Відповіді:


3

Коли програміст використовує функцію, яка не є власною для Windows, але замість цього потрібен спільний dll, наприклад, якийсь фреймворк, програму потрібно встановити для того, щоб переконатися, що всі спільні DLL розміщені в потрібному місці.

Видалення робить те ж саме, воно побачить, чи використовуються спільними dll, якими користується програма, іншими програмами, а якщо ні, то вони видаляють спільні DLL.

Спільні DLL-файли зазвичай розміщуються в папці C: \ Windows \ System32 (або syswow64 відповідно).

Іноді програміст просто хоче включити інсталятор, щоб він автоматично розміщував ярлики в меню "Пуск" та / або на робочому столі, тоді як сама програма насправді не використовує спільний dll.

Нарешті, деякі мови програмування компілюють код сценарію у виконуваний файл і використовують певні бібліотеки. Visual Basic - це форма такої мови. У цих випадках вам потрібно зв’язати набір dll зі своєю програмою, щоб переконатися, що вони працюють належним чином. Копіювання виконуваного файлу все ще може працювати, якщо ті спільні DLL вже є в системі, але якщо вони не є, користувач отримає помилку, стверджуючи, що пропускає певний файл, наприклад: vbvm50.dll (Visual Basic 5.0 runtime)


2
Ця відповідь серйозно неповна. Додамо кілька речей (люб’язно надано Вікіпедією): Переконайтеся, що необхідні системні вимоги дотримані, Перевірка наявних версій програмного забезпечення, Створення або оновлення програмних файлів і папок, Додавання конфігураційних даних, таких як файли конфігурації, записи реєстру Windows або змінні середовища , Роблячи доступне для користувача програмне забезпечення, наприклад, створюючи посилання, ярлики або закладки, налаштовуючи компоненти, які запускаються автоматично, наприклад, демони або служби Windows, активація продукту, оновлення версій програмного забезпечення ...
— misha256,

Розміщення спільних DLL-файлів у папку Windows дуже давно перешкоджає, але люди все ще кажуть, що спільні DLL-файли копіюються в каталоги Windows. Однак до певної міри це все-таки вірно: спільні збори зберігаються під каталогом Windows, і єдиний спосіб управління ними - це Windows Installer.
— Олексій Іванов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.