08.09.2014 08:29

Přechod z Windows XP na Windows 7 a aplikace pro DOS

Pokusím se shrnout své zkušenosti se spouštěním FOXPRO pro DOS ve Windows 7. Snažil jsem se do rovnou do textu zařadit užitečné odkazy, proto sledujte podtržení. Windows 95, 98 a Me bylo možno spustit v režimu DOS. Modernější systémy založené na technologii NT a následníci XT, Vista a Windows 7 umožňují běh DOS programů pouze ve virtuálním prostředí. Postupně je ale podpora DOS aplikací omezována a mění se některé detaily, což činí přechod a nasazení obtížnějším. Je několik možností:

  1. Prostředky Microsoftu
    1. Virtual DOS machine je součástí 32bitových Windows 7
    2. Windows Virtual PC a XP mode
  2. Jiné prostředky, například
    1. DOSBOX - výborný multiplatformní (Windows, Linux, Mac, aj.) emulátor pro hry, pro databáze prý nelze doporučit. Učetnictví v PC-FANDu v něm ale chodilo dobře.
    2. vbox (win32) - emulátor odvozený z DOSBOXu, ale soustředěný na rychlost a spolehlivost souborových operací. Nová naděje uživatelů dosovské FOXky.
    3. VirtualBox multiplatformní virtualizační nástroj zdarma dostupný jako Open Source.
    4. VMWare multiplatformní virtualizační nástroje, nejlepší funkce jsou ale placené.

Virtual DOS machine

Toto řešení se chováním nejvíce blíží tomu, nač jsou uživatelé zvyklí a proto jsem je zvolil. Toto řešení je ale dostupné jen pro 32bitové verze OS. Downgrade z 64 na 32 bitů nemusí být bezplatné. Změnily se i některé vlastnosti. Prozatím jsem narazil na tyto:
  1. Není možný provoz v celoobrazovkovém režimu. Aplikace vždy běží pouze v okně. Nejdříve vlastně pouze v nečitelném okénku. První, co musíte udělat je, že ve vlastnostech okna zvolíte čitelný font s přiměřeným poměrem šířky a výšky.
  2. Výchozí kódová stránka pro zobrazování znaků je Latin2 - CP852. Oproti DOSu nemusíte natahovat generátor znaků, ale pravděpodobně nedosáhnete kódování Kamenických.
  3. Musíte v AUTOEXEC.NT zabezpečit instalaci ovladače české klávesnice. To ještě upřesním.
  4. Příkaz NET USE LPT1 síťová_tiskárna z bezpečnostních důvodů nenahradí místní port LPT1. Musíte nejdříve port zakázat ve správci zařízení.
Je důležité si uvědomit, že konzola vyvolaná příkazem CMD není DOS. Je to 32bitová windows aplikace a klávesnice je ovládána z panelu jazyků, jako u ostatních windows aplikací. Když dáte z příkazového řádku příkaz DOSu, NTVDM vytvoří prostředí virtuálního DOS prostředí a v něm spustí COMMAND.COM, který provede CONFIG.NT a AUTOEXEC.NT ze složky %SystemRoot%\System32, většinou tedy z C:\WINDOWS\System32. Pro znakový generátor se nemusí zadávat inicializace, protože se používají fonty Windows. Klávesnici je ale nutno inicializovat příkazem (v AUTOEXEC.NT):
	%SystemRoot%\System32\KB16.COM CZ,852,%SystemRoot%\System32\KEYBOARD.SYS
V CONFIG.NT bude nutno nastavit parametry FILES a BUFFERS na stejné hodnoty, jako se tak činilo v DOSu v CONFIG.SYS.
Poznámka
Upgradoval jsem počítač z XP na Windows 7. K přenesení uživatele jsem použil migraci profilu. Zatímco v XP uživatel normálně mohl používat aplikaci DOS, ve Windows 7 uživateli nefungovala, resp. šla spustit jen přes CMD, ne přes COMMAND.COM a ne spuštěním EXE. CONHOST neotevřel okno a zasekl se. Postupně jsem zjistil, že jiným uživatelům DOS plně funguje a také funguje tomuto uživateli na jiném počítači v doméně. Takže pozor na přenesená nastavení programů při migraci profilu uživatele.

Windows Virtual PC

Je možno provozovat na 32 i 64bitových Windows 7. Běh je mnohem efektivnější, pokud hardware počítače umožňuje hardvérově podporovanou virtualizaci. Microsoft za tím účelem zdarma poskytuje detekční utilitu. Existuje ale také doplněk, který umožňuje Virtual PC spustit na počítačích, které HAV nemají. Dále je nutno doinstalovat obraz PC s XP SP3, který se nazývá XP mode. A zde může být pro mnohé kámen úrazu, protože tento doplněk je možno nainstalovat jen na Windows 7 Professional, Ultimate nebo Enterprise. Ke stažení jsou dvě verze: WindowsXPMode_cs-cz.exe  a WindowsXPMode_N_cs-cz.exe. Druhá verze je o 20 MB menší vynecháním Media Playeru.
Windows 7 Home a Starter instalaci XP mode neumožňují. Instalaci Virtual PC ale umožňují a proto by měly být možno vytvořit virtuální stroj s použitím (jinak nevyužité) licence staršího OS nebo s využitím FreeDOSu.

—————

Zpět