Skúste Shim. Čo je to Shim a s čím nám môže pomôcť? Akým spôsobom ho môžete využiť na sprevádzkovanie nekompatibilných aplikácií s novým operačným systémom Windows 7 v prostredí veľkej spoločnosti? Na tieto otázky nájdete odpoveď v tomto článku.

 

Shim nazývame časť kódu, ktorý je vložený medzi problematickú aplikáciu a Windows. Tento vložený kód simuluje príslušnú funkcionalitu práve pre špecifikovanú aplikáciu. Takto sa dá docieliť, bezproblémové fungovanie aplikácie bez toho, aby sme boli nútení napr znižovat zabezpečenia v operačnom systéme alebo vykonávať iné neštandardné úpravy odlišné od predvoleného nastavenia alebo požadovaného štandardu. Zároveň bezo zmeny kódu v problematickej aplikácii, ktorý vo väčšine prípadov, nie je k dispozícii. Zároveň sa vyhneme možnému porušeniu licenčných práv spojených s užívaním aplikácie.


Windows Vista / Windows 7 implicitne obsahuje stovky Shims pre všeobecne známe aplikácie (cez 5 tisíc aplikácií). Ich zoznam vrátane detailu čo daný Shim vykonáva, je možné vyhľadať v Compatibility Administrator nástroji, ktorý je súčasťou Application Compatibility Toolkit (ACT). Implicitné Shims sú v systémovej databáze Windows. Komplexné sady rôznych Shims sú napr kompatibility módy, ktoré je možné aktivovať vo vlastnostiach linku na príslušnú aplikáciu.
 

Pomocou Shims je možné vykonávať najmä nasledujúce úpravy:

  • Pre aplikácie overujú pomocou rôznych volaní API, či je aktuálny užívateľ členom skupiny Administrators.
  • Pre aplikácie kontrolujú verziu operačného systému a na základe toho neumožňuje príslušnú funkčnosť.
  • Pre aplikácie zapisujúce do systémovej databázy registrov alebo súborového systému do ciest oprávňujúce iba privilegované účty a nie je možné využiť built-in virtualizáciu.
  • Zprevádzkovať procesy, ktoré Windows identifikuje ako procesy vyžadujúce špecifické potvrdenia spustení (update, setup) aj keď v skutočnosti nevykonáva aktualizáciu alebo inštaláciu v rámci operačného systému.
  • Definovať pre Program Compatibility Assistant procesy, ktoré sú funkčné, však operačný systém Windows ich detekuje ako problematické.
  • Windows môže identifikovať proces, ktorý sa snaží modifikovať systémové súčasti operačného systému. Pomocou Shims možno zmeniť vlastnosti Windows Resource Protection tak, aby aplikácia bola funkčná, avšak OS zostal bezo zmien.
  • Zmeniť pre danú aplikáciu správanie User Interface Privilege Isolation (UIPI) pre zabezpečenie bezproblémovej funkčnosti.

 

Príklady z praxe, deployment Shim databázy a ďalšie informácie nájdete na stránkach Microsoft TechNet.