Жодний додаток не застрахована від помилок. Але деякі помилки з’являються регулярно і добре знайомі скільки-небудь досвідченим користувачам. Яскравий приклад – викид виключення «додаток не є додатком Win32. Система пише про те, що додаток не сприймається нею і не є тридцатидвухразрядным додатком Win32. На екрані з’являється приблизно таке віконце:
Вкажемо на можливі причини виникнення такої помилки при запуску програми:
- Запускається програма дійсно не має 32-розрядної адресації.
- Файл з програмою пошкоджений і Win32 не здатна ідентифікувати його як свого додатка.
- Вірус пошкодив записи реєстру, пов’язані з даним додатком.
- Для нормального запуску програми не вистачає якихось додаткових бібліотек.
- Завантаженні програми перешкоджає антивірусна програма.
Всі ці фактори можуть стати причиною появи помилки даного типу. В нашій замітці ми вкажемо деякі способи боротьби з вказаною проблемою. Якщо запропоновані нами рецепти не допоможуть – спробуйте пошукати додаткову інформацію в мережі Інтернет. Але велика частина випадків підпадає під наші рекомендації.
Причина неполадки – вірус
Вірус може так змінити запис в реєстрі, що при запуску потрібної вам програми буде запускатися і якийсь шкідливий код.
Під час чергового сеансу чищення, антивірус може видалити цей доважок, а заодно і всю відповідну запис в реєстрі. При цьому Win23 забуває про існування вашої програми і видає згадане повідомлення про помилку. Виправити ситуацію можна за допомогою спеціальної Win32-утиліти, яка є своєрідними ліками для всіх проблем такого роду. Назва програми exefix.reg, а завантажити її можна звідси: http://idej.net.ua/engine/download.php?id=2. Альтернативою даної заплатке для реєстру є утиліта, розроблена в «Лабораторії Касперського» — http://support.kaspersky.ru/viruses/disinfection/3732.
Існує дуже простий спосіб з’ясувати, чи є джерелом проблем вірус або причина криється в чомусь іншому. Потрібно відправитися в гілку реєстру HKEY_LOCAL_MACHINESOFTWAREClassesexefileshellopencommand і перевірити вміст ключа. Якщо в даному місці стоїть щось відмінне від рядка “%1” %*, як на малюнку:
Значить, слід виправити дане значення, встановивши його в рядок “%1” %*. Така дія допоможе виправити нещасливу помилку Win32.
Інші можливі причини
Частою причиною цієї проблеми є пошкодження exe-файлу. Файл може бути пошкоджений тим же вірусом або яким-небудь іншим способом. Головне, що Win32 не розуміє більше, що перед нею програма, а не просто сміття на диску. Виправити становище просто – потрібно перевстановити додаток вин 32 заново.
Може статися так, що програма дійсно не є додатком Win32. Починаючі користувачі комп’ютера часто плутають сенс значків програм і намагаються запустити, наприклад, файл з даними. Іноді Win32 видає більш-менш виразне попередження, а іноді пише, що програма не є програмою, як у розглянутому нами випадку. Ось як виглядають розширення виконуваної файлів в різних операційних системах:
- Exe – Win32.
- Deb – Linux з найбільш поширеного сімейства дистрибутивів Debian.
- Dmg – для Macintosh.
Сучасні програми Win32 рідко є абсолютно самостійними додатками. Як правило, для їх запуску потрібні додаткові бібліотеки або входять до складу операційної системи, або встановлюються окремо. Прикладами таких бібліотек є поширені набори системних програм Microsoft:
- Microsoft .NET Framework різних версій.
- Бібліотека часу виконання Microsoft Visual C++.
Їх відсутність часто виявляється причиною відмови у запуску. Така поведінка програм є цілком природним і нам нічого не залишається, як встановити необхідні бібліотеки.