První systémy Windows používaly 16bitové jádro založené na MS-DOSu ke spuštění grafického shellu za účelem přístupu ke službám systému. Pokud vás tato poslední věta přivedla k hledání technického glosáře, uklidněte se. Informace v tomto článku budou přístupné odborníkům i laikům. Při spouštění 32bitové aplikace v 64bitové verzi systému Windows jste mohli zaznamenat určité problémy. Pokud ano, čtěte dále a zjistěte, proč se to děje a jak to opravit.
Některé nezbytné koncepty
Prostým faktem je, že byste tento problém neměli mít na prvním místě. Windows má emulátor, který – pokud funguje správně – poskytuje potřebné prostředí pro normální běh 64bitových i 32bitových aplikací. Tento emulátor (WOW64) odděluje 32bitové aplikace od 64bitových, aby se zabránilo kolizím souborů a/nebo registrů. Technická poznámka, 32bitové procesy nemohou spouštět 64bitové knihovny DLL, takže to může způsobovat váš problém.
Je třeba mít na paměti, že ve skutečnosti možná používáte 16bitovou aplikaci, která rozhodně nebude fungovat. Rychlý způsob, jak zkontrolovat, zda je program 16bitový, je přejít na jeho umístění v počítači. Klikněte na něj pravým tlačítkem a z rozevírací nabídky vyberte Vlastnosti. Pokud karta vlastností obsahuje kartu „Verze“ nebo „Předchozí verze“, nejedná se o 16bitovou aplikaci.
Aby to bylo kompatibilní
První věc, kterou byste měli vyzkoušet, když se chystáte spustit jakýkoli software, který má problémy s kompatibilitou, je spustit jej v režimu kompatibility. V dnešní době je velmi málo problémů, které to reálně řeší, ale byla to velmi užitečná funkce, když byl Windows 95 nahrazen NT.
Chcete-li spustit aplikaci v režimu kompatibility, přejděte na ni v průzkumníku souborů a klikněte na ni pravým tlačítkem. Stejně jako výše klikněte v nabídce na Vlastnosti. V části Vlastnosti klepněte na kartu Kompatibilita. Klikněte na pole „Spustit tento program v režimu kompatibility pro:“ a vyberte verzi systému Windows, kterou chcete použít. Poté klikněte na Použít a zkuste aplikaci spustit. Možností by měla být jen hrstka, takže se snažte projít všechny.
Povolit 32bitové aplikace
Chcete-li být důkladní, můžete se ujistit, že jsou ve službách systému Windows povoleny 32bitové aplikace. Chcete-li tak učinit, postupujte takto:
- Začněte přístupem k funkcím systému Windows zadáním „funkce systému Windows“ do vyhledávacího pole systému Windows a výběrem nejvhodnější shody.
- Zaškrtněte políčko Internetová informační služba a klepněte na OK. Instalace této funkce bude chvíli trvat
- Spusťte Správce IIS zadáním „internetové informační služby“ do vyhledávacího pole Windows a výběrem nejvhodnější shody.
- V levém okně uvidíte název vašeho počítače, rozbalte jej a klikněte na Application Pools.
- V pravém okně klikněte pravým tlačítkem na DefaultAppPools a vyberte Advanced Settings.
- Vyberte „Povolit 32bitové aplikace“ a změňte ji z False na True.
- Klepněte na tlačítko OK a restartujte počítač.
Jakmile to dokončíte, zkuste aplikaci spustit znovu. Pokud váš WOW64 funguje správně, nemělo by to být nutné, ale v některých případech se to ukázalo jako účinné.
Nesprávné soubory programu
U starších programů se někdy instalace zamíchá a jejich soubory mohou skončit ve špatné složce. To je obzvláště obtížné zjistit, protože se zdá, že instalace proběhla bez problémů.
V 64bitových verzích systému Windows jsou všechny 64bitové aplikace nainstalovány ve složce „Program Files (x86)“. To zahrnuje všechny soubory související s nainstalovanou aplikací. 32bitové programy však skončí v samostatné složce s názvem „Program Files“. Pokud jsou cesty v instalaci nesprávně zakódovány, aplikace se mohla nainstalovat do nesprávné složky.
Oprava by měla zahrnovat úpravu některých instalačních kódů, ale nemusíte to dělat a ke zdrojovému kódu se možná stejně nebudete moci dostat. Pro provizorní řešení jednoduše vyhledejte nainstalované soubory a ručně je zkopírujte do složky „Program Files“.
Holení a stříhání, dva kousky
To jsou jen některé z problémů, se kterými se můžete potýkat při spuštění 32bitové aplikace. Ale opět nelze dostatečně zdůraznit, že by se to nikdy nemělo stát, protože existují opatření, která tomu mají zabránit. Je mnohem pravděpodobnější, že řešíte nějaký jiný problém s kompatibilitou. Pokud jste si jisti, že registr způsobuje problémy, začněte s řešeními uvedenými v článku.
Pomohla vám některá z metod v článku? Co vás ujistilo, že 32bitový registr je skutečně tím, co způsobuje váš problém? Podělte se o své úvahy v komentářích níže.