Jiho česká univerzita v Českých Bud ějovicích Pedagogická fakulta Katedra fyziky

Bakalá řská práce

České Bud ějovice 2009 Kamil Vojík

Jiho česká univerzita v Českých Bud ějovicích Pedagogická fakulta Katedra fyziky

Přenosné aplikace a Virtualizace aplikací pro OS Windows

Bakalá řská práce

Vedoucí práce: Ing. Michal Šerý Autor: Kamil Vojík, DiS. Anotace

Obsahem práce je popsání oblasti p řenosných aplikací. V teoretické části je popsána definice p řenosných aplikací a výhody jejich použití. Jsou zde dále popsány zp ůsoby jak tyto aplikace získat. Jedná se o oblast virtualizace aplikací, platformy p řenosných aplikací, Live OS a Cloud computing. Praktickou část tvo ří popis a ukázka postup ů, jak přenosné aplikace pomocí jednotlivých technologií vytvo řit. Jsou popsány vlastnosti výsledných řešení na základ ě post řeh ů, které jsem p ři jejich realizaci získal. Záv ěr práce tvo ří porovnání a doporu čení technologií na základ ě získaných poznatk ů. Neexistuje univerzální řešení a je nutné se rozhodnout na základ ě požadavk ů každého uživatele. Při porovnání podle kritéria cena/výkon nejlépe dopadla platforma Ceedo, která používá virtualizaci aplikací.

Abstract

The content of this theses „Portable applications and Application for Windows OS“ is to describe the area of Portable applications. The theoretical part describes definition of Portable applications and benefits of theirs use. There are also described ways how to get these applications. This is area of Application virtualization, Portable applications platform, Live OS and Cloud computing. The practical part consists of descriptions and demonstrations of procedures how to create Portable applications using various technologies. There are described properties of the resultant solutions on the basis of observations that I gained during their implementation. The conclusion consists of recommendations and comparing technologies on the basis of gained experience. There does not exist any universal solution and is necessary to decide on base of the requirements of each user. From comparation of price and performance is Ceedo platform the best hit and solution based on Application virtualization. Prohlášení

Prohlašuji, že jsem tuto bakalá řskou práci vypracoval samostatn ě s použitím zdroj ů uvedených v seznamu.

Prohlašuji, že v souladu s §47b zákona č. 111/1998 Sb. v platném zn ění souhlasím se zve řejn ěním své bakalá řské/diplomové práce, a to v nezkrácené podobě pedagogickou fakultou elektronickou cestou ve ve řejn ě p řístupné části databáze STAG provozované Jiho českou univerzitou v Českých Bud ějovicích na jejích internetových stránkách.

V Českých Bud ějovicích, dne 30. 11. 2009 Pod ěkování

Cht ěl bych pod ěkovat zejména své rodin ě a p řítelkyni za všestrannou pomoc, svým koleg ům a p řátel ům za jejich cenné rady, doporu čení a p řipomínky. Nemalý dík pat ří vedoucímu bakalá řské práce za jeho trp ělivost. Dále bych cht ěl ješt ě pod ěkovat i autor ům, kte ří poskytují programy jako freeware.

Obsah

Úvod...... 7 1 Teoretická část ...... 8 1.1 P řenosné aplikace ...... 8 1.1.1 Definice p řenosných aplikací...... 8 1.1.2 Použití p řenosných aplikací...... 9 1.1.3 Jak získat p řenosnou verzi programu...... 9 1.1.4 Rozd ělení program ů podle zp ůsobu úpravy na p řenosnou aplikaci ...... 10 1.1.5 Programy pro tvorbu p řenosných aplikací...... 12 1.1.6 Jak pracuje program pro tvorbu p řenosných aplikací...... 12 1.2 Virtualizace...... 14 1.2.1 Obecná definice virtualizace...... 14 1.2.2 Druhy virtualizace a jejich popis ...... 14 1.2.3 Virtualizace aplikací ...... 16 1.2.4 VMware ThinApp...... 20 1.3 Sady p řenosných aplikací a jejich platformy...... 25 1.3.1 Definice platformy p řenosných aplikací...... 25 1.3.2 Porovnání platforem ...... 25 1.4 Live OS ...... 30 1.4.1 Obecná definice Live OS...... 30 1.4.2 Jak získat Live OS ...... 30 1.4.3 BartPE...... 31 1.5 Cloud computing...... 34 1.5.1 Obecná definice Cloud computingu ...... 34 1.5.2 Webové (Online) aplikace ...... 35 1.5.3 jako služba – SaaS...... 36 1.5.4 Jak získat Cloud aplikace...... 36 2 Praktická část ...... 38 2.1 Vytvá ření p řenosných aplikací ...... 38

5

2.2 Vytvá ření p řenosných aplikací pomocí Virtualizace aplikací ...... 38 2.2.1 Postup v programu VMware ThinApp ...... 38 2.2.2 Postup v programu XeNOCODE Virtual Application Studio...... 43 2.3 Vytvá ření p řenosných aplikací pro platformy ...... 49 2.3.1 Postup pro PortableApps.com...... 49 2.3.2 Postup pro Ceedo...... 53 2.3.3 Postup pro MojoPac...... 55 2.4 Vytvo ření Live OS...... 59 2.4.1 Postup v programu Bart's PE Builder ...... 59 2.4.1 Postup v programu WinBuilder ...... 64 2.5 Vlastní zp ůsob pomocí jednoduchého spoušt ěč e (Launcher)...... 68 2.6 Celkové vyhodnocení ...... 71 Záv ěr ...... 72 Seznam použitých zdroj ů...... 73 Přílohy...... 78

6

Úvod

Toto téma jsem si zvolil, protože se problematikou p řenosných aplikací pro OS Windows již delší dobu zabývám. V ěř ím, že se do budoucna v ětšina aplikací bude ubírat tímto sm ěrem. Navíc bych se cht ěl i v zam ěstnání pokusit prosadit n ěkterý zp ůsob virtualizace aplikací, který se také používá pro tvorbu p řenosných aplikací. Cílem této práce je seznámení s problematikou p řenosných aplikací (anglicky Portable application) a virtualizací aplikací (anglicky Application virtualization). Cht ěl bych popsat problematiku, ukázat jak tyto aplikace vytvořit a zhodnotit výhody i nevýhody jednotlivých řešení. Práce m ůže sloužit i jako návod pro p řípadné zájemce o tuto oblast.

7

1 Teoretická část

1.1 Přenosné aplikace

1.1.1 Definice p řenosných aplikací

Přenosné aplikace [2] (anglicky Portable applications [1]) jsou spustitelné programy, které pro svou funk čnost nevyžadují instalaci na pevný disk po číta če. Slovo „P řenosné“ znamená, že tyto aplikace m ůže uživatel nosit s sebou. Mohou být uložené na vým ěnném médiu s možností zápisu (USB flash disk, externí pevný disk, pam ěť ová karta) a lze je tedy p římo spustit z libovolného po číta če s podporovaným opera čním systémem Windows, k n ěmuž je toto médium p řipojené. Nejedná se tedy o p řenositelnost program ů mezi r ůznými platformami HW a OS. Další důležitou vlastností p řenosných aplikací je to, že po svém ukon čení nezanechávají na hostitelském po číta či žádné informace o své činnosti. P řenosné aplikace si ukládají nastavení do složky na vým ěnném médiu, odkud jsou spoušt ěny. Neinformovaný uživatel by si mohl myslet, že výše uvedené m ůže ud ělat s každým programem, ale není to tak. V ětšinu program ů sice lze nainstalovat i na vým ěnné médium a budou skute čně fungovat, ale zpravidla jen na po číta či, kde tato instalace prob ěhla. Když uživatel médium připojí na jiném po číta či a zkusí program spustit, pravd ěpodobn ě program zahlásí chybu a vypne se nebo se nespustí v ůbec. Tento problém je zp ůsoben tím, že instalace program ů nespo čívá jen v jejich pouhém nakopírování na pevný disk. Instalátor většinou vytvo ří zástupce, soubory či záznamy s nastavením programu v registrech, může p řizp ůsobit n ěkterá nastavení systému a n ěkdy nainstaluje i další podp ůrné programy a ovlada če. Tyto soubory a záznamy jsou velmi často uloženy mimo instala ční složku programu. Když je tedy program spušt ěn na jiném po číta či, než na kterém byl instalován, nemá tyto údaje k dispozici a nem ůže fungovat korektn ě.

8

Použitím programu, který je vytvo řen jako p řenosná aplikace, se lze popisovaným problém ům vyhnout. Získáme program p řipravený k použití na jakémkoliv po číta či, bez toho, aby do hostitelského po číta če ukládal soubory nebo údaje do registr ů, m ěnil nastavení systému nebo po jeho činnosti z ůstávaly jiné stopy.

1.1.2 Použití p řenosných aplikací

Důvod ů, pro č používat p řenosné aplikace, je n ěkolik: − přenosné aplikace nacházejí uplatn ění, pokud uživatel p řechází mezi více po číta či a pot řebuje mít své aplikace se svou konfigurací p řipraveny kdykoliv k použití − pokud uživatel pot řebuje spustit sv ůj program a používat ho na po číta či, do n ěhož nem ůže nic instalovat − pokud kv ůli bezpe čnosti nebo ochran ě osobních údaj ů uživatel nechce, aby po jeho práci z ůstávala v hostitelském po číta či citlivá data nebo osobní nastavení.

1.1.3 Jak získat přenosnou verzi programu

Nejjednodušší je, pokud autor (programátor) dodává program i jako p řenosnou aplikaci. Některé programy jsou nativn ě dodávané jako p řenosné a mohou se hned po stažení používat. Tyto aplikace v ětšinou neobsahují instalátor a jsou k dispozici v podob ě archivu. Některé programy se takto dají p řenastavit – sta čí tuto vlastnost povolit v menu, jiné je t řeba spustit s parametrem. Spoušt ění program ů s parametrem je možné usnadnit pomocí jednoduchého spoušt ěč e (skripty - bat,cmd; spoušt ěč - exe). Aplikace, které autor p ůvodn ě jako p řenosné nezamýšlel, je potřeba upravit. Možností, jak program upravit na p řenosnou verzi, mnoho není. Přímou modifikaci kódu programu v ětšinou licen ční podmínky zakazují, proto ji nelze použít. Navíc by tato úprava byla pro b ěžného uživatele p říliš složitá a vyžadovala by znalost programování. Obdobná situace nastane, i pokud licence v modifikaci programu nebrání

9

a jsou k dispozici zdrojové kódy programu. Proto úprava zdrojového kódu a p řekompilování programu není náplní této práce a je v praktické části vynechána. Zbývají tedy pouze tři možnosti. Jako první je možné využít n ěkterou z platforem pro přenosné aplikace, kde je p řenosná aplikace spoušt ěna p řes tzv. spoušt ěč (anglicky Application launcher nebo Wrapper). Vytvá řet tyto spoušt ěč e vyžaduje ur čité systémové znalosti a znalost programování. Proto se pro velké množství program ů dají stáhnout již p řipravené spoušt ěč e [3], anebo je dodáván program, který jejich vytváření usnad ňuje. Druhá možnost je použití virtualizace aplikací (anglicky Application virtualization), kde pro vytvoření p řenosné aplikace slouží bali č (anglicky Packager), který vytvo ří jakýsi obal aplikace. Pro toto použití je vhodná tzv. virtualizace bez agenta, která vytvo ří samostatný (anglicky stand-alone) spustitelný soubor. Jako t řetí řešení by se mohl použít přenosný celý opera ční systém v podob ě tzv. Live verze OS a v něm p ředinstalované programy. Pokud mají hostitelské po číta če p řístup k internetu, může uživatel použít i tzv. Web (Online) verzi programu (anglicky Web application). Tato možnost je ovšem pouze okrajová, jelikož zatím neexistuje dostate čné množství takto fungujících program ů. Jednotlivé technologie jsou podrobn ě popsány dále v teoretické části této práce. Postup a ukázka takto vytvo řených aplikací je náplní praktické části této práce.

1.1.4 Rozd ělení program ů podle zp ůsobu úpravy na p řenosnou aplikaci

Programy, které mohou být použity jako přenosné bez úprav: − ukládají nastavení do soubor ů ve složce programu a nikam jinam nic neukládají − sta čí je pouze uložit na vým ěnné médium − příklad program ů: QIP, PsPad.

Programy, které lze na p řenosné upravit editací soubor ů: − je nutné upravit, p řekopírovat nebo vytvo řit ur čité soubory či složky − příklad program ů: , µTorrent.

10

Programy, které lze na p řenosné upravit volbou v nastavení: − úprava zm ěnou v nastavení − takto nastavenou aplikaci sta čí p řekopírovat na vým ěnné médium − příklad program ů: Media Player Classic - Home Cinema, The KMPlayer.

Programy p řenosné pomocí parametru při spoušt ění: − programy je nutné spoušt ět s parametrem − spoušt ění lze usnadnit spoušt ěč em (skripty - bat,cmd; spoušt ěč - exe) − příklad program ů: Total Commander, ImgBurn.

Programy, které autor upravil na p řenosnou verzi: − autor programu nabízí verzi co se instaluje i p řenosnou verzi programu − často jsou programy autorem p řipraveny pro použití s některou z platforem přenosných aplikací (nap ř. PortableApps.com) − CCleaner, FreeCommander.

Nativn ě nep řenosné programy: − autor program nedodává s možností použít ho jako p řenosnou aplikaci − je nutné použít nástroje t řetích stran – platformu pro p řenosné aplikace, spoušt ěč aplikací nebo virtualizaci aplikací − příklad program ů: Altap Salamander, Opera a v ětšina velkých programových balík ů jako Office, Corel atd.

Podrobný seznam program ů a návody na jejich úpravu je dostupný na webových adresách http://www.pendriveapps.com [4] nebo http://www.portablefreeware.com [5].

11

1.1.5 Programy pro tvorbu přenosných aplikací

Pokud autor program nedodává s možností použít ho jako p řenosnou aplikaci, uživatel musí využít nástroje t řetích stran, které umožní vytvo ření p řenosné aplikace.

Přehled program ů pro tvorbu p řenosných aplikací [6]: − VMware ThinApp − LANDesk Application Virtualization − Xenocode Virtual Application Studio − Ceedo (s použitím Argo Application installer) − MojoPac − Portable App Creator (PAC) − Portable Builder (PBRS) − JauntePE

Program, který vytvá ří p řenosné aplikace se nej časn ěji ozna čuje jako tzv. Builder. Existuje n ěkolik zp ůsob ů, jak program upravit na p řenosnou aplikaci.

1.1.6 Jak pracuje program pro tvorbu p řenosných aplikací

Nejlépe se dá postup popsat podle vytvo řené p řenosné aplikace.

Ke spoušt ění p řenosné aplikace slouží tzv. Launcher: − launcher umož ňuje spustit program s parametrem − launcher p řed spušt ěním provede kontrolu, vytvo ří zálohu aktuálních dat, nahraje nastavení p řenosné aplikace, po ukon čení uloží nastavení p řenosné aplikace a obnoví zálohu − pro správnou funkci je nutné znát všechny soubory a registry, které program používá

12

Ke spoušt ění p řenosné aplikace slouží tzv. Wrapper [7]: − wrapper využívá tzv. há čky (anglicky Hooks), kterými p řesm ěruje systémová volání používající soubory nebo registry, aby sm ěř ovaly na ur čené místo na vým ěnném médiu (USB flash disk) − nej čast ěji wrapper pracuje tak, že vpraví (anglicky Inject) dynamickou knihovnu (DLL) do procesu spoušt ěného programu − wrapper tvo ří mezivrstvu, tzv. obal aplikace

Vytvo řená aplikace je samostatný (anglicky stand-alone) spustitelný soubor: − k vytvo ření p řenosné aplikace se používá tzv. bali č (anglicky Packager/Compiler) − tento zp ůsob je nej čast ěji používán u virtualizace aplikací − takto vytvo řené aplikace mají p řibalenou virtualiza ční vrstvu − nezam ěň ovat s SFX (samorozbalovací archivy)

Aby bylo možné zjistit, jaké soubory a registry program pot řebuje, používá builder tzv. snímky (anglicky Snapshots). Builder si ud ělá snímek systému p řed instalací nebo spušt ěním programu a další snímek po instalací a nastavení programu. Porovnáním těchto snímk ů je možné zjistit, jaké soubory p řibyly nebo se zm ěnily. Dalším zp ůsobem, jak zjistit používané soubory a registry je využití monitorovacích nástroj ů. Tyto nástroje jsou schopné pro vybraný proces vypsat soubory, které jsou procesem využívány.

13

1.2 Virtualizace

1.2.1 Obecná definice virtualizace

Pod pojmem virtualizace [8,9]se v prost ředí po číta čů obvykle rozumí postupy, techniky a uspo řádání, které umož ňují k dostupným zdroj ům p řistupovat jiným zp ůsobem, než jakým fyzicky existují. Umož ňují tedy k systémovým zdroj ům p řistupovat jako k množin ě výkonu bez ohledu na jejich fyzické charakteristiky. Virtualizovat lze na r ůzných úrovních, od celého po číta če (tzv. virtuální stroj), po jeho jednotlivé hardwarové komponenty (nap ř. virtuální procesory, virtuální pam ěť atd.), p řípadn ě pouze softwarové prost ředí (virtualizace opera čního systému). Dá se tak říci, že primárním cílem virtualizace je schovat technické detaily systému pod virtualiza ční vrstvu, prost řednictvím které je pak k dispozici pouze jeho výkon. Virtualizace umož ňuje nap říklad na jednom fyzickém serveru provozovat více server ů virtuálních.

1.2.2 Druhy virtualizace a jejich popis

Emulace nebo Simulace Virtuální stroj simuluje celý hardware, dovoluje b ěh neupraveného OS hosta na zcela odlišném procesoru. Tento p řístup je dlouho používán za účelem tvorby softwaru pro procesory, které nejsou fyzicky dostupné. Emulace je implementována širokou škálou technik od stavových automat ů až pod dynamickou rekompilaci na pln ě virtualizovaných platformách.

Hardwarová virtualizace (plná) Nejrozší řen ější varianta virtualizace - správa a p řiřazování hardwarových zdroj ů jednotlivým virtuálním server ům. Virtualiza ční vrstva je umíst ěna mezi hardwarem a virtuálními servery. Tento typ virtualizace podporuje více opera čních systém ů na jednom serveru.

14

Virtuální stroj simuluje dostate čné množství hardwaru tak, aby umožnil odd ělený b ěh neupraveného OS hosta ur čeného pro stejný druh CPU.

Částe čná virtualizace (a virtualizace adresního prostoru) Virtuální stroj simuluje více instancí mnoha (ale ne všech) prost ředí hardwaru, na kterém b ěží hostitel, p ředevším adresního prostoru. Takové prost ředí podporuje sdílení zdroj ů a izolaci proces ů, ale neumí odd ělit instance hostovaných OS.

Para-virtualizace Podobná konceptu hardwarové virtualizace, pouze se snahou optimalizovat zát ěž virtualiza ční vrstvy. Podporuje více opera čních systém ů na jednom serveru, ale opera ční systém musí být na tento zp ůsob b ěhu p řipraven. Virtuální stroj nemusí nezbytn ě simulovat hardware, ale místo toho (nebo navíc) nabízí zvláštní API, které může být použito jen z upraveného hostovaného OS.

Virtualizace na úrovni opera čního systému Virtualiza ční vrstva je umíst ěna mezi opera čním systémem serveru a virtuálními servery. Na jednom fyzickém serveru podporuje pouze jeden opera ční systém. Virtualizuje se fyzický server na úrovni OS, což umož ňuje b ěh více izolovaných bezpe čných virtuálních server ů na jednom fyzickém serveru. Prost ředí hostovaného OS sdílejí jeden OS s hostitelským systémem – tj. stejné jádro OS je použito pro implementaci hostovaného OS. Aplikace b ěžící v hostovaném prost ředí jej však vnímají jako samostatný systém.

Virtualizace aplikací Virtualizované aplikace jsou programy, které spušt ěné na daném stroji, používají místní zdroje, ale b ěží ve zvláštním virtuálním stroji. To je rozdíl o proti tradi čnímu lokálnímu běhu nativních aplikací, tj. softwaru nainstalovaném p římo na systému. Taková aplikace běží v malém virtuálním prost ředí obsahujícím komponenty nutné ke spušt ění – nap ř. položky registr ů, soubory, prom ěnné prost ředí, prvky uživatelského rozhraní a globální

15

objekty. Toto virtuální prost ředí se chová jako vrstva mezi aplikací a opera čním systémem, která zabra ňuje konflikt ům mezi aplikací a OS nebo mezi aplikacemi vzájemn ě. Tento druh virtualizace je z řeteln ě odlišný od všech p ředešlých.

1.2.3 Virtualizace aplikací

Virtualizace aplikací [10, 11, 12] je nejmladší odvětví v oblasti virtualizace. Virtualizované aplikace nejsou instalovány na hostitelský opera ční systém, což p řináší velké množství výhod. Virtualizace poskytuje pouze základní komponenty pot řebné pro b ěh programu (soubory, registry aj.). Virtualizace aplikací dosahuje rychlejšího běhu aplikace než virtualizace aplikace spole čně s celým OS, zpravidla je však mén ě dokonalá.

Výhody: − nedochází ke konflikt ům s nainstalovanými programy − aplikace nem ůže poškodit opera ční systém − využívá mén ě zdroj ů než samostatný virtuální stroj, rychlejší b ěh − možnost spustit špatn ě napsané programy − distribuce nastavení program ů − bezpe čnost (nevyžaduje práva správce)

Nevýhody: − nelze virtualizovat všechny programy. Obecn ě takto nelze virtualizovat programy, které jsou hluboce integrované do systému (ovlada če, antivirové systémy, ochrany a další) a 16-bitové programy − pokud program nefunguje na daném OS (nap ř. ), nebude fungovat ani jako virtualizovaný

16

Programy pro virtualizaci aplikací je možné rozd ělit na programy s agentem a programy bez agenta. Virtualizace aplikací bez agenta má tu výhodu, že nemusí být nainstalován žádný další software do OS hosta. Aplikace má tuto vrstvu p řibalenou.

Programy bez agenta: − VMware ThinApp (dříve Thinstall) − LANDesk Application Virtualization − XeNOCODE Virtual Application Studio − InstallFree

Programy s agentem: − Microsoft App-V (d říve Softricity SoftGrid) − Sandboxie − Symantec Workspace Virtualization (d říve Altiris SVS) − Citrix XenApp − AppZero (d říve Trigence) − Endeavors Application Jukebox

Pro vytvo ření aplikace bez agenta se používá tzv. Packager, který vytvá ří aplikaci jako samostatný balík (anglicky stand-alone packed executables) – tedy p řenosnou. Proto se tento zp ůsob virtualizace aplikací velmi často používá pro tvorbu p řenosných aplikací. Je ovšem nutné poznamenat, že tyto programy jsou velice drahé a pro b ěžného uživatele tím pádem nedostupné. Jako p říklad lze uvést ceny program ů ThinApp - $5.000 USD je přibližn ě 85.000 K č nebo XeNOCODE Virtual Application Studio - $1.600 USD je přibližn ě 27.000 K č.

Streamování aplikací Další využití virtualizace aplikací je streamování aplikací [13] (anglicky Application Streaming). Jedná se o distribuci aplikací pomocí datového toku p řes sí ť. Aplikace je dodávána jako balík, který obsahuje soubory a nastavení. Ke spušt ění takové aplikace je

17

pot řeba tzv. tenký klient - agent. Balíky jsou nej čast ěji dostupné p řes protokol HTTP. K distribuci aplikace dochází na vyžádání, tzv. on demand p řístup. Nedochází k instalaci aplikací na hostitelský OS. Aplikace jsou uložené na stream serveru. K vytvo ření aplikace se používá tzv. Packager nebo Sequencer.

Sandbox Pískovišt ě [14] (anglicky Sandbox) je speciální chrán ěný izolovaný prostor, ve kterém aplikace pracuje. Aplikace uzav řené v Sandboxu nemohou provád ět zm ěny, které by mohly poškodit po číta č. Toto využívají virtualizované aplikace. Při virtualizaci se dá ur čit stupe ň izolace od OS hosta. Od režimu, kde je povolen p řístup pro čtení i zápis, přes režim pouze pro čtení až po úplnou izolaci. P ři úplné izolaci jsou do tohoto prostoru sm ěř ovány všechny zm ěny a nastavení aplikace. Nej čast ěji je jako Sandbox volena složka ve stejném umíst ění jako virtualizovaná aplikace.

Obr. č. 1 - Princip funkce Sandboxu.

Cross OS virtualizace Je nutné uv ědomit si rozdíl mezi Virtualizací aplikací a Aplikační virtualizací.

18

Aplika ční virtualizace [15] je nap říklad JAVA VM od firmy Sun. Jedná se o virtualizaci mezi r ůznými architekturami OS – tzv. Cross OS virtualizace. Kdežto Virtualizace aplikací vlastn ě vytvá ří otisky program ů. Ačkoliv se u p řenosných aplikací jedná především o p řenositelnost program ů jako takových, mezi po číta či na stejné HW platform ě a stejném OS (Windows), je možné tyto aplikace provozovat i v OS . A to pomocí . Tímto zp ůsobem je možné spustit velké množství aplikací vytvo řeních pomocí programu ThinApp [16] nebo program ů z platformy PortableApps.com.

Wine Wine [17] je software vytvá řející aplika ční rozhraní, které umož ňuje chod program ů ur čených pro OS pod jinými (p řevážn ě unixovými) opera čními systémy. Wine je akronym pro Wine Is Not Emulator, což v češtin ě znamená Wine není emulátor. Tato v ěta zám ěrn ě upozor ňuje na to, že Wine je pouze soustava API. WINE zachytává volání systémových Win API funkcí b ěžného EXE programu a p řevádí je do linuxového prost ředí.

Obr. č. 2 - Nastavení programu WINE.

19

1.2.4 VMware ThinApp

Jedná se nejznám ější program pro virtualizace aplikací. Program ThinApp [18] založený na technologii Thinstall - p řední virtualiza ční řešení v kategorii bez agenta, tzn. že nevyžaduje žádný p ředinstalovaný software, a to jak na bázi fyzického, tak i virtuálního PC. Zárove ň nejsou požadovány žádné manažerské nástroje ani pohotovostní infrastruktura. ThinApp navíc zabalí aplikaci do b ěžn ě požívaných formát ů (.MSI nebo .EXE). ThinApp 4 p řichází se dv ěma revolu čními novinkami. Application Link a Application Sync, které jednak umož ňují dv ěma virtualizovaným aplikacím vzájemnou komunikaci a dále dokáží pro vzdálené virtuální aplikace zajistit update. Tato vylepšení lze považovat za velmi zásadní pro snazší řízení virtuálních aplikací. B ěžné nástroje pro zabalení a dodání jsou zatíženy konflikty aplikací a opera čního systému, které následn ě vedou ke zna čné “k řehkosti” pracovního prost ředí. ThinApp eliminuje tyto konflikty a bezpe čně p řipraví aplikace k p řenosu na fyzické či virtuální desktopy. ThinApp dovoluje jediné virtuální aplikaci, aby byla streamována ze sít ě, prezentována z terminálového serveru nebo nahrána na USB flash disk.

Nejd ůležit ější vlastnosti VMware ThinApp [19] Application Link – komunikace mezi vzájemn ě závislými virtuálními aplikacemi. Application Link dovoluje na sob ě závislým aplikacím vzájemnou komunikaci (Java, .Net, IE, Office) za ú čelem eliminace konflikt ů, snížení velikosti aplikace a zachování kontinuity spolu s možnostmi sledování softwarových licencí. Application Sync – umož ňuje updaty aplikací prost řednictvím internetu. Application Sync vysílá updaty pro kritické virtuáln ě provozované aplikace uvnit ř uživatelského po číta če a zárove ň i mimo podnik, p řičemž používá HTTP/HTTPS. „Package once, deploy anywhere” - heslo „Jedenkrát zabalit, použít kdekoliv” platí pro virtualizaci aplikací bez agenta. ThinApp používá Thinstall technologii, jíž lze považovat za pr ůkopníka v oblasti virtualizace aplikací bez agenta k tomu, aby bylo možné je používat na libovolném za řízení s opera čním systémem Windows (stolní PC, notebook, tenký klient, virtuální pracovní plocha).

20

Spolupráce s existujícími nástroji řízení vedoucí ke snížení náklad ů p ři zachování kompatibility. Bezkonfliktní aplikace snižují riziko sm ěř ující proti kontinuit ě byznysu. Aplikace jsou izolovány od opera čního systému hosta, díky čemuž lze zárove ň používat r ůzné verze téhož programu (nap ř. Internet Explorer 6 a 7) a to bez nežádoucích kolizí.

Porovnání program ů pro virtualizaci aplikací Výsledky publikované webem XPnet [20]. Ukazují p řevahu programu VMware ThinApp. VMware ThinApp – nízké nároky na CPU, obsazenou pam ěť a sí ťovou propustnost; nejrychlejší spoušt ění aplikací; celkové hodnocení – výborné. Microsoft App-V – vysoké nároky na CPU, pam ěť a sí ťovou propustnost; druhé nejpomalejší spoušt ění aplikací; celkové hodnocení – neuspokojivé. Symantec SVS Pro – st ředn ě nízké nároky na CPU, ale velké nároky na obsazenou opera ční pam ěť ; nejpomalejší spoušt ění aplikací; celkové hodnocení – neuspokojivé. Citrix XenApp 5 – pr ůměrné nároky na CPU a pam ěť ; pomalejší spoušt ění aplikací v testech bez použití cache; celkové hodnocení – uspokojivé.

Obr. č. 3 - Výsledek testu OfficeBench (mén ě znamená lépe).

21

Obr. č. 4 - Vytížení procesoru (mén ě znamená lépe).

Výsledky publikované webem Virtualfuture.info [21]. Grafy znázor ňují dobu pot řebnou ke spušt ění virtualizované aplikace v sekundách.

Obr. č. 5 - Spušt ění aplikace Word 2007 (mén ě znamená lépe).

22

Obr. č. 6 - Spušt ění aplikace 3.5.2 (mén ě znamená lépe).

Obr. č. 7 - Spušt ění aplikace WinRAR 3.80 (mén ě znamená lépe).

Převzaté grafy používám, jelikož není možné získat všechny programy a provést vlastní srovnání.

23

Postup p ři virtualizaci program ů [22]: − virtualizace by se m ěla provád ět ve virtuálním stroji (nap říklad VMware Workstation, VirtualBox, Virtual PC) − jako opera ční sytém ve virtuálním stroji by m ěla být nainstalována nejnižší/nejstarší verze OS Windows, na které se bude následn ě virtualizovaná aplikace provozovat − pro virtualizaci by m ěl být použit čist ě nainstalovaný OS − nainstaluje a spustí se program pro virtualizaci aplikací − vytvo ří se snímek systému − spustí se instalace programu, který chceme virtualizovat − provede se požadované nastavení programu − vytvo ří se nový snímek sytému − vybere se spustitelný soubor pro virtualizaci, ur čí se izolace a umíst ění sandboxu − spustí se balení virtualizované aplikace s požadovaným nastavením − jako poslední se provede test funk čnosti vytvo řené aplikace

Obr. č. 8 - Jednoduché schéma funkce programu ThinApp.

24

1.3 Sady p řenosných aplikací a jejich platformy

1.3.1 Definice platformy p řenosných aplikací

Sada aplikací [23, 24] (anglicky Portable application suite) je tvo řena balíkem přenosných aplikací a podp ůrných nástroj ů, které jsou nezbytné pro fungování přenosných aplikací. Tento balík se nainstaluje nebo zkopíruje na vým ěnném médiu s možností zápisu (nej čast ěji USB flash disk), ze kterého se mají přenosné aplikace spoušt ět. Takto vytvo řená složka na vým ěnném médiu má p řesn ě definovanou strukturu podložek, která musí být dodržována. Toto rozložení složek a soubor ů spole čně s pot řebnými podp ůrnými programy tvo ří platformu – základ (anglicky Portable application platform). Pro snadné spoušt ění p řenosných aplikací obsahuje v ětšina platforem program, který po spušt ění zobrazuje nabídku dostupných přenosných aplikací, tzv. menu. Menu lze po spušt ění programu vyvolat p řes ikonu v oznamovací oblasti. Tato menu svým vzhledem p řipomínají Start menu OS Windows. Každá platforma obsahuje vlastní spoušt ěč e p řenosných aplikací. Všechny platformy obsahují předem p řipravené p řenosné aplikace, n ěkteré nabízejí navíc program pro samotnou tvorbu t ěchto aplikací uživatelem.

1.3.2 Porovnání platforem

Název sady Autor Licence Typ AccessApps JISC RSC Scotland North & East Open source Application launcher Ceedo Ceedo Technologies, Ltd. Commercial - Closed source Application virtualization CodySafe Codyssey.com Freeware Application launcher LiberKey LiberKey.com Freeware Application launcher Lupo PenSuit Lupo PenSuite Team Freeware Application launcher MojoPac (Pro) RingCube Technologies Freeware / Commercial Application virtualization PortableApps.com John T. Haller - Rare Ideas, LLC Open source Application launcher SanDisk Proprietary format - Closed platform Application launcher winPenPack winPenPack Team Open source Application launcher Tab. č. 1 – Porovnání platforem p řenosných aplikací [3, 25]

25

Po čet aplikací Builder Název sady Menu v sad ě / dostupných Launcher AccessApps cca 90 ASuite n/a Ceedo cca 100 Ceedo SmartPlayer ARGO Application Installer CodySafe cca 20 Codysafe Launcher n/a LiberKey cca 270 (1800) LiberKey (ASuite) LiberKeyPortabilizer Lupo PenSuit cca 200 (2000) ASuite n/a MojoPac n/a MojoPac standardní instalace program ů PortableApps.com cca 100 + unofficial PortableApps.com Platform PAC (unofficial) U3 cca 300 U3 Launchpad n/a winPenPack cca 200 (700+) winPenPack Launcher (ASuite) X-Launcher Tab. č. 2 – Porovnání platforem p řenosných aplikací [3, 25]

Platforma PortableApps.com [26, 27, 28] Jedná se asi o nejznám ější platformu. Obsahuje pouze OpenSource nebo Freeware aplikace. Oficiáln ě je dostupných cca 100 aplikací a 2 sady (Light a Standard). Sta čí si přenosnou aplikaci stáhnout v podob ě souboru s koncovkou .paf.exe, v menu kliknout na tla čítko Options a zvolit funkci Install a New App. Pak zvolit v souborovém dialogu stažený soubor a dojde k za člen ění aplikace. Spoušt ěč e aplikací jsou programovány v NSIS. Existuje neoficiální program pro vytvá ření p řenosných aplikací - Portable App Creator (PAC).

Obr. č. 9 – PortableApps.com Platform menu

26

LiberKey [29, 30] Jedné se o sadu vyvíjenou ve Francii. Její p ředností je velké množství dostupných aplikací řazených podle kategorií, automatická aktualizace a možnost do časné asociace soubor ů s přenosnými aplikacemi. Jako menu (Obr. č. 10) je použit upravený program ASuite. Je dodáván program LiberKey Portabilizer, který slouží k vytvá ření p řenosných aplikací. Jsou dostupné 3 sady (Basic, Standard a Ultimate). Obr. č. 10 – LiberKey menu

Platforma U3 [31, 32] Jedná se o uzav řenou platformu pouze pro za řízení podporující U3, tzv. U3 smart drives. Nejznám ější výrobce těchto USB flash disk ů je SanDisk. Flash disk má speciální oddíl, který se v OS zobrazí jako jednotka CD-ROM. Nelze na n ěj tedy zapisovat. Jako menu slouží U3 Launchpad. Nevýhodou je omezená nabídka dodávaných aplikací i USB flash disk ů a uzav řenost platformy.

Obr. č. 11 – U3 Launchpad menu

27

winPenPack [33] Jedná se o sadu vyvíjenou v Itálii. Její p ředností je velké množství dostupných aplikací a možnost do časné asociace soubor ů s přenosnými programy. Existuje p ět sad (Essentials, 2Gb, Game, School a Web). Jako menu je použit upravený program ASuite (Obr. č. 12) - winPenPack Launcher. Dále je dodáván program X-Launcher, který slouží k vytvá ření p řenosných aplikací. Obr. č. 12 – winPenPack menu

Ceedo [34, 35] Jedná se o izraelskou placenou platformu dostupnou ve verzích Personal a Enterprise (Obr. č. 13). Pro instalaci je nutné p řipojení k internetu. Platforma neobsahuje české rozhraní. Obsahuje program ARGO Application Installer, který slouží k instalaci vlastních p řenosných aplikací. Tato platforma využívá virtualizaci aplikací.

Obr. č. 13 – Menu verze Enterprise (vlevo) a Personal (vpravo).

28

MojoPac [36, 37] Tento program je dostupný ve dvou verzích – zdarma a placené. Nelze nainstalovat a používat pod jiným OS než Windows XP. Jako nevýhodu lze uvést dlouhou dobu startu danou virtualizací pracovního prost ředí. Jako výhodu lze uvést instalování vlastních program ů metodou klasické instalace a možnost p řenést nastavení z OS hosta. Grafické rozhraní je z části anglické a z části p řevzaté z OS hosta (Obr. č. 14).

Obr. č. 14 – Pracovní prost ředí. Vzhled jako OS hosta.

Další programy používané pro spoušt ěcí menu p řenosných aplikací [38]: CodySafe – lze použít jako náhradu PortableApps.com menu geek.menu – pokro čilá náhrada PortableApps.com menu, podporuje šifrování ASuite – univerzální program, používá ho řada platforem jako své menu PStart – univerzální program

29

1.4 Live OS

1.4.1 Obecná definice Live OS

Live OS [39] je opera ční systém uložený na bootovatelném médiu, jenž z n ěj m ůže být spušt ěn bez nutnosti jeho instalace. P ůvodn ě byly takto systémy dostupné na CD [40]. Jako druhé vzniklo Live DVD, tedy systém spustitelný z disku DVD. OS se vždy vrátí ke svému p ůvodnímu nastavení když je Live CD/DVD vyjmuto z mechaniky a po číta č je restartován. Toho je možné dosáhnout díky neukládání dat na pevný disk, ale jejich uložením do do časné pam ěti, jakou je nap ř. pam ěť RAM. Takovéto řešení však klade vysoké nároky na pam ěť po číta če a p ři jejím nedostatku se m ůže snížit častým čtením z mechaniky výkon systému. Live USB [41] je aplikací stejného principu na za řízení, jakým je t řeba USB flash disk. Live USB navíc m ůže i ukládat nastavení. Rychlost reakce OS je velmi ovlivn ěna dostupnou pam ětí RAM a rychlostí samotného CD/DVD/USB flash disku.

1.4.2 Jak získat Live OS

Většina takto dostupných opera čních systém ů je z rodiny GNU/Linux [42]. Mezi nejznám ější distribuce pat ří Pendrivelinux, , nebo . Pokud ovšem uživatel chce používat Live OS Windows, je situace složit ější. Microsoft poskytuje pouze Windows Preinstallation Environment (Windows PE) [43]. Toto prost ředí umož ňuje pouze práci z p říkazového řádku. Proto vznikly neoficiální programy, které umož ňují vytvo řit Live verzi OS Windows i s grafickým rozhraním.

Programy pro vytvo ření Live OS Linux na USB flash disku [44]: − LinuxLive USB Creator − UNetbootin − FUSBi

30

Programy pro vytvo ření Live OS Windows − BartPE (Bart Preinstalled Environment) − Reatogo-X-PE − UBCD4Win (Ultimate Boot CD for Windows) − WinBuilder

Programy pro p řevod Live CD na Live USB − PeToUSB − Ultimate boot USB − FlashBoot

1.4.3 BartPE

BartPE [45, 46] je bootovatelné "Live CD" s opera čním systémem Windows XP nebo Windows 2003. B ěží p římo z CD média bez nutnosti instalace na pevný disk. Tuto možnost b ěžní uživatelé OS Windows bez tohoto programu nem ěli. Microsoft sice takovéto CD pro servisní ú čely vytvo řil, tzv. Microsoft Windows Preinstallation Environment (Windows PE), ale nebylo ur čené široké ve řejnosti. Díky projektu Bart's Preinstalled Environment (BartPE), jehož autorem je Bart Lagerweij, si m ůže uživatel takovéto CD vytvo řit sám. Bootovací Live CD lze vytvo řit pomocí freewarového programu PE Builder (Obr. č. 16). Je ovšem nutné vlastnit originální instala ční CD s OS Windows. Live OS je možné vytvo řit i s p ředinstalovanými programy. Ty jsou dodávané jako tzv. zásuvné moduly (anglicky Plugins). Tyto moduly lze stáhnout ze stránek programu, nebo je možná i jejich vlastní výroba pomocí program ů PluginCreator a PluginLab. Projekt BartPE využívá jako základ několik dalších program ů. Jako první uvedu Reatogo-X-PE [47]. Tento program je nadstavba (Obr. č. 17) a obsahuje rozsáhlou databázi zásuvných modul ů, které je možné stahovat p římo z tohoto programu. Jeho další výhodou je možnost pokro čilého nastavení. Jako další program uvedu UBCD4Win

31

[48]. Tento program slouží k vytvo ření Live CD pro servisní ú čely. V základu obsahuje velké množství již p ředinstalovaných program ů (Obr. č. 16). Obsahuje i program pro převedení na Live USB. Česká stránka zabývající se Live OS Windows je na adrese http://www.craftcom.net.

Obr. č. 15 – Vzhled programu BartPE – PE Builder

Obr. č. 16 – Vzhled programu UBCD4Win – výb ěr zásuvných modul ů

32

Obr. č. 17 – Vzhled programu REATOGO-X-PE

Obr. č. 18 – Vzhled programu WinBuilder. Program WinBuilder [49, 50] pracuje na princupu provád ění skript ů z projekt ů (Obr. č. 18). Existují projekty pro Live OS ze systém ů Windows XP, Vista i Seven. Je dostupný i projekt s BartPE.

33

1.5 Cloud computing

1.5.1 Obecná definice Cloud computingu

Cloud computing [52, 53] je sdílení hardwarových i softwarových prost ředk ů pomocí sít ě. Cloud computing je z principu jakýkoliv program nebo služba, která je dostupná přes internet. Data i celá aplikace je uložena na serveru na internetu. Pod pojem Cloud computing pat ří tedy webové aplikace i virtualizace aplikací a jejich streamování p řes internet. Cloud computing má blízko k nabídce softwaru jako služby (SaaS). Uživatel neví p řesn ě, kde jsou jeho data uložena, odkud spouští aplikace, co dodává výpo četní výkon, kdo komunika ční infrastrukturu – všechno je n ěkde na Internetu - v diagramu se to podobá mraku (anglicky Cloud) (Obr. č. 19). Jindy se Cloud computing spojuje se službami Web 2.0. P řesná definice Cloud computingu vlastn ě neexistuje.

Obr. č. 19 – Znázorn ění Cloud computingu

34

1.5.2 Webové (Online) aplikace

Webové (Online) aplikace (anglicky Online Web Based Applications) [54, 55] jsou programy, které jsou dostupné p řes sí ť - internet nebo intranet. Jako klient slouží webový prohlíže č. Tyto aplikace mohou mít stejnou funk čnost jako normální nainstalované programy a navíc jsou dostupné i z různých platforem OS. Aplikace fungují na principu klient-server a na spoušt ění skript ů jak na stran ě serveru tak klienta. Webové aplikace souvisejí s použitím Web 2.0 [56, 57]. Termín Web 2.0 je ustálené ozna čení pro etapu vývoje webu, v níž byl pevný obsah webových stránek nahrazen prostorem pro sdílení a spole čnou tvorbu obsahu. Web 2.0 využívají nap říklad webové aplikace, sociální sít ě, blogy, ukládání dat na internet nebo sdílení fotografií a videa. Pro vytvá ření webových aplikací slouží tzv. Web application framework [58]. Jedná se o programování za použití jazyk ů a technologií jako DHTML, Flash, ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Perl, Python, Ruby, Ajax. Často proto pot řebuje klient k funkci ur čité b ěhové prost ředí (Flash, JAVA).

Obr. č. 20 – Vzhled prost ředí aplikace Google Docs – vytvá ření tabulky.

35

1.5.3 Software jako služba – SaaS

Software jako služba (anglicky Software as a Service) [59, 60] je model nasazení softwaru, kdy dochází k hostingu aplikace provozovatelem služby. Pojem SaaS je často spojován p řevážn ě s business softwarem a hlavn ě se zp ůsobem levného po řízení aplikace, která by nabízela stejnou funkcionalitu jako klasické řešení, ale za mnohem menší finan ční prost ředky. Často bývá také tento koncept zam ěň ován s pojmem Web 2.0, ale hlavní odlišnost s SaaS je, že se jedná o klasické řešení informa čního systému, které je nabízeno p řes webové rozhraní. Mezi aplikace, které jsou nabízeny formou SaaS, pat ří nap říklad video konference, aplikace pro řízení lidských zdroj ů, ú četnictví, e-mail a podobn ě.

1.5.4 Jak získat Cloud aplikace

Běžný uživatel by si tyto aplikace naprogramovat nedokázal, existuje však n ěkolik zdarma dostupných aplikací [62]. Nej čast ěji jsou takto dostupné kancelá řské balíky (Google Docs (Obr. č. 20), Office Web Apps), editory fotografií (Picnik, Online Web Photo Editor) a programy pro IM komunikaci (ICQ2Go, Meebo). Neoficiální seznam program ů je nap říklad na webové adrese http://www.webapplist.com [61]. Zajímavostí je možnost využití tzv. Web OS nebo webtopu [63, 64] - OS z internetového prohlíže če. Mezi nejznám ější pat ří iCloud, Windows4all (Obr. č. 21), eyeOS a G.ho.st. Pokud má tedy uživatel p řístup k internetu, m ůže využít tyto programy namísto p řenosných aplikací. Výhoda je pak v p řístupu k program ům, nastavením a uloženým soubor ům, bez nutnosti jakýkoliv program instalovat nebo s sebou nosit program na vým ěnném médiu. Jako nevýhody lze uvést možnost útoku hackera a omezený výb ěr aplikací. K vytvo ření vlastních aplikací lze částe čně použít streamování aplikací. Jedná se o virtualizaci aplikací a jejich streamování p řes internet, kde je ale nutné mít v hostitelském OS nainstalovaného tenkého klienta. Oproti webovým aplikacím postavených nap říklad na AJAXu a Flashi se totiž jedná o skute čné programy, které se

36

pouze nespouští z pevného disku po číta če, ale t řeba z aplika čního úložišt ě n ěkde na internetu. Další možnost je nechat si aplikaci na zakázku vyrobit. To je ovšem pro b ěžného uživatele velmi drahé (tudíž nedostupné) a tato možnost je spíše pro firmy. Hlavním omezením pro použití t ěchto aplikací je obecn ě pomalé internetové připojení.

Obr. č. 21 – Vzhled prost ředí Windows4all – plocha.

37

2 Praktická část

2.1 Vytvá ření p řenosných aplikací

Cílem praktické části této práce je ukázat postup vytvá ření p řenosných aplikací. U každého zp ůsobu řešení bude popis instalace, popis použití dopln ěný obrázky, ukázka vytvo ření aplikace a porovnání – tedy výhody a nevýhody. Virtualizaci aplikací budou zastupovat programy VMware ThinApp a XeNOCODE Virtual Application Studio. Pro platformy p řenosných aplikací budu popisovat PortableApps.com, Ceedo a MojoPac. Jako poslední bude oblast Live OS, kterou zastoupí programy Bart's PE Builder a WinBuilder. Pro snadné porovnání výsledné p řenosné aplikace jsem vybral programy Firefox a Scilab. Vytvá ření p řenosných aplikací bude probíhat na čistém OS, tedy systému, kde nejsou nainstalované jiné programy. OS by m ěl být stejný nebo p ředchozí verze, než ve kterém budeme přenosné aplikace provozovat.

2.2 Vytvá ření p řenosných aplikací pomocí Virtualizace aplikací

2.2.1 Postup v programu VMware ThinApp

Program lze stáhnout ze stránky http://www.vmware.com/products/thinapp/. Pro stažení je nutná registrace. Jedná se o zkušební verzi. Program i jím vytvo řené aplikace budou fungovat 60 dní. Cena programu zahrnuje 50 klientských licencí a za číná na $5.000 USD.

Instalace: − Program ThinApp nainstalujeme do virtuálního stroje (VMware Workstation v6.5.3.185404) s nainstalovaným opera čním systémem Windows XP Professional with Service Pack 3 - VL (x86) - CD (Czech).

38

− Instalaci zahájíme spušt ěním staženého souboru VMware-ThinApp-Enterprise- 4.0.4-204871.exe. − Potvrdíme souhlas s licen čními podmínkami a pokra čujeme stiskem tla čítka Next. − Vyplníme licen ční číslo a pokra čujeme stiskem tla čítka Install. − Instalaci dokon číme stiskem tla čítka Finish.

Vytvo ření p řenosné aplikace: − Spustíme program ThinApp Setup Capture (Obr. č. 22) a pokra čujeme stiskem tla čítka Next.

Obr. č. 22 − Pod tla čítkem Advanced scan locations… vybereme jaké disky a registry se mají skenovat a pokra čujeme stiskem tla čítka Scan. − Provede se vytvo ření snímku systému p řed instalací programu - Prescan. − Nyní nainstalujeme vlastní program, který chceme virtualizovat. Po nainstalování, případném restartu a nastavení programu, stiskneme tla čítko Postscan. − Provede se vytvo ření snímku systému po instalaci programu - Postscan. − Následuje výb ěr programu (Obr. č. 23), který má být dostupný jako p řenosná aplikace, zadání zdroje dat a název Sandboxu. Pokračujeme stiskem tla čítka Next.

39

Obr. č. 23 − V dalším kroku (Obr. č. 24) vybereme umíst ění Sandboxu. Pro p řenosné aplikace vybereme druhou možnost, uložení ve složce jako p řenosná aplikace. Pokra čujeme stiskem tla čítka Next.

Obr. č. 24

40

− Vybereme zp ůsob izolace (Obr. č. 25). Zaleží jestli chceme umožnit ukládání soubor ů na ploše a v dokumentech nebo chceme veškeré zm ěny p řesm ěrovat do Sandboxu. Vybereme druhou možnost a pokra čujeme stiskem tla čítka Next.

Obr. č. 25 − Dostáváme se k výb ěru (Obr. č. 26) umíst ění projektu a zp ůsobu komprimace. Komprimace zmenší velikost výsledné přenosné aplikace. Zvolíme tedy Compress virtual package. Pokra čujeme stiskem tla čítka Save. Dojde k vytvo ření projektu.

Obr. č. 26 − Následuje možnost pokro čilého nastavení (Obr. č. 27). Stiskem tla čítka Edit Package.ini m ůžeme ru čně upravit nastavení. Tla čítko Open project folder otev ře

41

složku s projektem, kde m ůžeme ru čně upravovat obsažené soubory. Samotné vytvo ření spustíme tla čítkem Build.

Obr. č. 27 − Dojde k vytvo ření p řenosné virtualizované aplikace (Obr. č. 28). Vytvo řená aplikace se nachází ve složce Projektu v podložce Bin. Pr ůvodce ukon číme tla čítkem Finish.

Obr. č. 28

42

Výsledná virtualizovaná aplikace Vytvo ření bylo úsp ěšné. Po spušt ění virtualizované aplikace se vytvo ří složka s nastavením (Sandbox). Smazáním této složky lze aplikaci vrátit do výchozího nastavení. Aplikace fungují bez problém ů. Je možné spustit lokální i n ěkolik virtualizovaných aplikací najednou bez ovliv ňování nastavení. Pro spušt ění nejsou nutná práva administrátora. Není patrný rozdíl mezi rychlostí spušt ění a odezvou přenosné aplikace a lokáln ě nainstalovaného programu.

Hodnocení: + jednoduché vytvo ření aplikace p řes pr ůvodce + rychlost, funk čnost + nejsou pot řeba práva administrátora + možnost aplikace streamovat - pouze pr ůvodce nebo p říkazová řádka - program není lokalizován do češtiny - velmi vysoká cena (ur čeno pro korporace)

Virtualizované aplikace je možné stáhnout a vyzkoušet z adresy http://www.thindownload.com/.

2.2.2 Postup v programu XeNOCODE Virtual Application Studio

Program lze stáhnout ze stránky http://www.xenocode.com/. Jedná se o zkušební verzi. Pro vytvo ření p řenosné virtualizované aplikace je nutná registrace. Cena programu je $1.599 USD (Developer Edition) a $39 USD za uživatelskou licenci (Enterprise Edition). Program XeNOCODE Virtual Application Studio lze vyzkoušet i jako streamovanou aplikaci. Po nainstalování dopl ňku Spoon m ůžeme program spustit z domovské stránky.

43

Instalace: − Program XeNOCODE Virtual Application Studio nainstalujeme do virtuálního stroje (VMware Workstation v6.5.3.185404) s nainstalovaným opera čním systémem Windows XP Professional with Service Pack 3 - VL (x86) - CD (Czech). − Instalaci zahájíme spušt ěním staženého souboru setup.msi a pokra čujeme stiskem tla čítka Next. − Potvrdíme souhlas s licen čními podmínkami a pokra čujeme stiskem tla čítka Next. − Následuje výb ěr umíst ění složky instalace. Ponecháme p řednastavenou a pokra čujeme stiskem tla čítka Next. − Samotná instalace se spustí po stisku tla čítka Install. − Pr ůvodce instalací dokon číme stiskem tla čítka Finish.

Vytvo ření p řenosné aplikace: − Spustíme program Xenocode Virtual Application Studio 2010. − Spustí se mám výb ěr pr ůvodc ů (Obr. č. 29). Zvolíme druhou možnost – Virtualize a third-party application or component. Pr ůvodce a postup je velmi podobný jako u programu VMware ThinApp.

Obr. č. 29

44

− První krok je vytvo ření snímku p řed instalací – before snapshot. Potvrdíme stiskem tla čítka Next. − Nyní nainstalujeme vlastní program, který chceme virtualizovat. Po nainstalování, případném restartu a nastavení programu stiskneme tlačítko Next. − V dalším okn ě potvrdíme tla čítkem Next vytvo ření snímku po instalaci a zjišt ění rozdíl ů – after snapshot. − Vybereme program (Obr. č. 30), který se má spoušt ět jako p řenosná aplikace. Je d ůležité vybrat správný soubor, aby p ři spušt ění virtualizované aplikace nedošlo k chyb ě.

Obr. č. 30 − Pokra čujeme zvolením umíst ění Sandboxu (Obr. č. 31). Pro p řenosnou aplikaci vybereme druhou možnost. Pokra čujeme stiskem tla čítka Next.

Obr. č. 31

45

− Nyní zadáme jméno výsledné virtualizované p řenosné aplikace. Pokra čujeme stiskem tla čítka Next. − V dalším okn ě ponecháme p ředvolené možnosti. Uložení nastavení a vytvo ření aplikace. Pokra čujeme stiskem tla čítka Finish. Pokud používáme program poprvé, zobrazí se výzva na vytvo ření zkušebního ú čtu. Je nutné p řipojení k internetu. Stiskem tla čítka OK potvrdíme souhlas s licen čními podmínkami a následuje samotné vytvo ření aplikace. Pr ůvodce ukon číme stiskem tla čítka OK (Obr. č. 32).

Obr. č. 32- Vytvo ření virtualizované aplikace.

K vytvo ření virtualizované aplikace nemusíme používat jen pr ůvodce, ale m ůžeme veškeré kroky a navíc i up řes ňující nastavení provád ět z hlavního okna programu (Obr. č. 33).

46

Nastavení programu: Tla čítko Filesystem – nastavení složek, které se mají skenovat. Tla čítko Registry – nastavení registr ů, které se mají skenovat. Tla čítko Settings – nastavení projektu.

Vytvo ření virtualizované aplikace Tla čítko Capture Before – vytvo ří snímek p řed instalací. Tla čítko Capture and Diff – vytvo ří snímek po instalaci. Tla čítko Build – vytvo ří virtualizovanou aplikaci. Tla čítko Publish to USB Drive – uloží aplikaci na p řipojený USB disk.

Obr. č. 33 - Ukázka nastavení projektu p řed vytvo řením aplikace.

47

Výsledná virtualizovaná aplikace Vytvo ření bylo úsp ěšné. Virtualizované aplikace mají obecn ě podobné vlastnosti, proto platí to samé jako u programu VMware ThinApp. Pouze mají p řenosné aplikace o málo menší výslednou velikost.

Hodnocení: + jednoduché vytvo ření aplikace p řes pr ůvodce + šablony pro známé programy + možnost manuálního vytvo ření aplikace + možnost aplikace streamovat + možnosti nastavení - program není lokalizován do češtiny - cena

Virtualizované streamované aplikace je možné vyzkoušet z adresy http://spoon.net/.

48

2.3 Vytvá ření p řenosných aplikací pro platformy

2.3.1 Postup pro PortableApps.com

Pro tuto platformu není oficiáln ě dostupný nástroj na vytvá ření p řenosných aplikací. Na stránce http://portableapps.com/development je dostupná pouze specifikace platformy (Obr. č. 34) a návod.

Obr. č. 34 - Struktura adresá řů p řenosných aplikací platformy PortableApps.com.

Existují však šablony pro manuální vytvá ření p řenosné aplikace (http://portableapps.com/node/2022). Pro snazší vytvá ření je dostupný i program Portable App Creator (PAC). Program je možné stáhnout ze stránky http://portableapps.com/node/9909. Dále je pot řeba nainstalovat další nástroje, které program PAC používá. Jedná se o AutoIt, RegShot a UPX.

Instalace: − Použijeme virtuální stroj (VMware Workstation v6.5.3.185404) s nainstalovaným opera čním systémem Windows XP Professional with Service Pack 3 - VL (x86) - CD (Czech). − Program získáme rozbalením staženého souboru Portable App Creator 0·97·2 beta.zip. Spustíme soubor PAC Compiler.exe. Dojde k vytvo ření souboru Portable App Creator.exe. Pokra čujeme stiskem tla čítka Done (Obr. č. 35).

49

Obr. č. 35

Vytvo ření p řenosné aplikace: − Spustíme program Portable App Creator.exe. − Zadáme USB flash disk, na který budeme program instalovat. Pokra čujeme stiskem tla čítka Next. − Zadáme cestu k instala čnímu souboru programu (Obr. č. 36) a vybereme možnost komprimace pomocí UPX. Pokra čujeme stiskem tla čítka Next.

Obr. č. 36 − Nyní provedeme stiskem tla čítka Next postupn ě všechny kroky (Obr. č. 37).

50

Obr. č. 37 − Vytvo říme snímek systému p řed instalací. Nainstalujeme program. Zadáme složku s nainstalovaným programem a cestu (Obr. č. 38), kam se má uložit spoušt ěč . Dodržíme strukturu složek PortableApps.com.

Obr. č. 38 − Pokra čujeme spušt ěním a nastavením programu. Vytvo řením druhého snímku a spušt ěním porovnání snímk ů. − Nakonec pr ůvodce ukon číme stiskem tla čítka Done (Obr. č. 39).

51

Obr. č. 39

Poznámka Program PAC mi po prvním nainstalování ve virtuálním stroji nefungoval. Po stisku tla čítka na vytvo ření prvního snímku (Take 1st Shot) se nic nestalo. Z nějakého d ůvodu nedokázal správn ě spoušt ět program RegShot, který ale spušt ěný samostatn ě fungoval. Problém jsem vy řešil až instalací Windows XP Professional with Service Pack 3 - VL (x86) - CD (English). V tomto systému již vše fungovalo správn ě a vytvo ření p řenosné aplikace bylo úsp ěšné.

Výsledná přenosná aplikace Takto vytvo řené aplikace je nutné spoušt ět z umíst ění, kam byly nainstalovány. Standardn ě se instalují na USB flash disk do složky PortableApps v ko řenu. Tedy není možné je p řekopírovat nebo p řejmenovat. Lze spustit pouze jednu instanci p řenosné aplikace.

Hodnocení: + cena (Freeware) - pouze pro jednoduché programy - program není lokalizován do češtiny

52

2.3.2 Postup pro Ceedo

Jedná se o platformu založenou na virtualizaci aplikací. Zkušební verzi lze stáhnout z adresy http://www.ceedo.com/download/download-center.html. Jsou dostupné dv ě základní verze: Personal ($39 USD) a Enterprise ($89 USD). Sou částí je program Argo Application Installer, díky kterému je možné p řidávat vlastní programy do této platformy.

Instalace: − Instalaci zahájíme spušt ěním staženého souboru cp_ga.exe (verze Personal). − Potvrdíme výb ěr jazyka. Ponecháme English a pokra čujeme stiskem tla čítka OK. Je nutné p řipojení k internetu, jelikož dochází ke stažení balí čků. − Potvrdíme souhlas s licen čními podmínkami a pokra čujeme stiskem tla čítka OK. − Následuje výb ěr umíst ění instalace. Zvolíme USB flash disk a pokra čujeme stiskem tla čítka OK. − Zobrazí se Uvítací obrazovka, okno programu a ikona v oznamovací oblasti.

Vytvo ření p řenosné aplikace: − Kliknutím na ikonu v oznamovací oblasti otev řeme menu programu (Obr. č. 40).

Obr. č. 40

53

− Zvolíme Add Programs -> Argo Application Installer. − Zobrazí se uvítací obrazovka, pokra čujeme stiskem tla čítka Next. − Ponecháme první možnost (Obr. č. 41). Vybereme umíst ění instala čního souboru a pokra čujeme stiskem tla čítka Next.

Obr. č. 41 − Pr ůvodce dokon číme stiskem tla čítka Finish. − Pokra čujeme instalací a nastavením zvolené aplikace. Všechna okna spušt ěná pomocí Ceedo jsou oranžov ě ohrani čena. Po nainstalování p řibude zástupce pro spušt ění aplikace v menu Ceedo (Obr. č. 42). Menu ukon číme volbou Exit p řes ikonu v oznamovací oblasti. Obr. č. 42

Výsledná p řenosná aplikace Vytvo ření prob ěhlo baz problém ů. Aplikace jsou nainstalovány do složky Ceedo\Program Files na USB flash disku. Velikost aplikací je stejná jako p ři lokální instalaci. Instalátor automaticky upraví cestu na USB flash disk. P řidávaní vlastních

54

aplikací je velmi jednoduché. Pouze zamrzí absence české lokalizace a delší start prost ředí Ceedo.

Hodnocení: + jednoduché vytvo ření aplikace p řes pr ůvodce + rychlost aplikací - prost ředí není lokalizované do češtiny - cena

Virtualizované aplikace je možné stáhnout a vyzkoušet z adresy http://www.ceedoready.com/. Po registraci je možné stáhnout verzi Enterprise s již předinstalovanými aplikacemi ze stránky http://www.ceedo.com/download/ceedo- enterprise.html.

2.3.3 Postup pro MojoPac

Jedná se o platformu založenou na virtualizaci desktopu. Program lze zadarmo stáhnout z adresy http://www.mojopac.com/download.html. Jsou dostupné verze MojoPac 1.8 Freedom a MojoPac 2.0 Free. Je dostupná i placená verze Deluxe/Professional. Výhodou je virtualizace celého pracovního prost ředí a instalace program ů jako do standardního OS. Program spojuje výhody p řenosných aplikací a Live OS do jednoho řešení. Nevýhodou je, že jak instalaci tak program samotný lze spustit pouze na OS Windows XP.

Instalace: − Instalaci zahájíme spušt ěním staženého souboru MojoPacInstaller.exe. − Potvrdíme souhlas s licen čními podmínkami a pokra čujeme stiskem tla čítka I Agree.

55

− Vybereme USB flash disk a zrušíme volbu p řidat zástupce na plochu (Obr. č. 43). Pokra čujeme stiskem tla čítka Next.

Obr. č. 43 − Instalace trvá pom ěrn ě dlouho. Pr ůvodce ukon číme stiskem tla čítka Finish.

Vytvo ření p řenosné aplikace: − Prost ředí spustíme souborem Start.exe. Dojde ke konfiguraci a spušt ění virtualizovaného desktopu. Pokra čujeme stiskem Register Later (Obr. č. 44).

Obr. č. 44

56

− Nyní nainstalujeme aplikaci, kterou chceme používat jako p řenosnou. − Prost ředí ukon číme k řížkem na lišt ě MojoPac (Obr. č. 44) nebo p řes ikonu v oznamovací oblasti volbou Exit. Potvrdíme dialog zda skute čně ukon čit tla čítkem Ano.

Obr. č. 44 – virtualizované pracovní prost ředí MojoPac

Výsledek Mezi virtuálním a hostitelským prost ředím se p řepíná pomocí tla čítka Host – Switch / MojoPac – Switch na lišt ě MojoPac nebo p řes ikonu v oznamovací oblasti. Ve virtuálním systému je jako disk C: složka s instalací MojoPacu. Navíc se vytvo ří další USB flash disk jehož obsah je také stejný jako obsah složky s instalací MojoPacu, který má písmenko z konce abecedy. Tento disk je připojený jak v prost ředí OS hosta tak ve virtualizovaném. Pro správnou funkci je nutné mít OS nainstalovaný na

57

disku C: a práva administrátora. Limitujícím faktorem je omezení pouze na OS Windows XP a také rychlost celého prost ředí.

Hodnocení: + jednoduchost instalace prost ředí i program ů, které chceme mít p řenosné + cena (Freeware) - nutná práva administrátora - pomalá rychlost/odezva práce ve virtuálním prost ředí - pouze pro OS Windows XP - některé popisy prost ředí v češtin ě a n ěkteré jsou anglicky

Výsledné p řenosné aplikace i nástroje na jejich vytvo ření jsou na p řiloženém DVD. V následující tabulce je shrnutí velikostí jednotlivých řešení.

Mozilla Firefox Scilab Zp ůsob řešení Velikost programu (MB) Lokální instalace 25,40 430,00 VMware ThinApp 13,60 161,00 XeNOCODE Virtual Application Studio 12,90 135,00 Portable App Creator (PAC) 22,10 405,00 PortableApps.com 27,00 N/A Ceedo Personal 25,40 430,00 MojoPac 2 Free 25,40 430,00 Tab. č. 3 - Tabulka popisuje velikost jednotlivých řešení.

58

2.4 Vytvo ření Live OS

2.4.1 Postup v programu Bart's PE Builder

Program lze stáhnout ze stránky http://www.nu2.nu/pebuilder/. Pro p řevedení na Live USB lze použít PE2USB (http://www.nu2.nu/pebuilder/files/pe2usb101.zip) od stejného autora a nebo program PeToUSB (http://www.gocoding.com/page.php?al=petousb). Použijeme program PeToUSB.

Instalace: − Instalaci zahájíme spušt ěním staženého souboru pebuilder3110a.exe. − Zvolíme jazyk pr ůvodce instalace a pokra čujeme stiskem tla čítka OK. − Zobrazí se pr ůvodce a pokra čujeme stiskem tla čítka Další. − Ponecháme p řednastavené umíst ění. BartPE by m ěl být instalován do ko řenu systémového disku. Pokra čujeme stiskem tla čítka Další. − Ponecháme vytvo ření zástupc ů v nabídce Start a pokra čujeme stiskem tla čítka Další. − Zvolíme možnost umístit zástupce na plochu a pokra čujeme stiskem tla čítka Další. − Pokra čujeme stiskem tla čítka Instalovat. − Zrušíme volbu spušt ění programu a pr ůvodce dokon číme stiskem tla čítka Dokon čit.

Vytvo ření Live OS: − Spustíme program PE Builder. Zobrazí se hlavní okno programu (Obr. č. 45). − Je nutné zadat cestu k instala čním soubor ům MS Windows. Jako zdroj jsou použity soubory Windows XP Professional with Service Pack 3 - VL (x86) - CD (Czech). Výstupní adresá ř necháme p řednastavený a zvolíme možnost nevytvá řet výstupní médium.

59

Obr. č. 45 − Tla čítkem Pluginy se spustí výb ěr zásuvných modul ů.

Obr. č. 46 – Seznam zásuvných modul ů

60

− Pro testovací ú čely není pot řeba provád ět žádné zm ěny. Pokra čujeme stiskem tla čítka Zav řít (Obr. č. 46). − V hlavním okn ě programu stiskneme tla čítko Spustit. − Potvrdíme vytvo ření výstupního adresá ře tla čítkem Ano. − Dále potvrdíme Licen ční smlouvu stiskem tla čítka Souhlasím. − Zav řeme okno logu tla čítkem Zav řít a tla čítkem Konec program ukon číme. Máme vytvo řeny pot řebné soubory pro Live OS. − Rozbalíme a spustíme program PeToUSB (Obr. č. 47). Vybereme USB flash disk a cestu k soubor ům projektu BartPE. Zvolíme formátování – Enable Disk Format a možnost Quick Format. Zvolíme kopírování soubor ů – Enable File Copy a možnost Overwrite Always. Pokra čujeme stiskem Tla čítka Start. Potvrdíme pokra čování tla čítkem Ano.

Obr. č. 47 − Dokon čené formátování a kopírování USB flash disku potvrdíme stiskem tla čítka OK. Tla čítkem Close program PeToUSB uzav řeme.

61

− Nyní m ůžeme spustit opera ční systém z USB flash disku. Nutná je podpora a nastavení bootování z USB v BIOSu po číta če.

Obr. č. 48 - Vzhled prost ředí BartPE – plocha a nabídka start.

Výsledek Live OS zabírá na disku cca 160 MB. Spušt ění trvá déle než start OS z pevného disku. Prost ředí BartPE (Obr. č. 48) není p říliš podobné prost ředí Windows XP. Navíc se zde objevil problém se zobrazováním češtiny v programech. Proto je nutné použití n ěkolika zásuvných modul ů. Modul CZSupport zajistí správné zobrazování češtiny, modul Windows XPE upraví prost ředí a shell na podobný vzhled jako má Windows XP (Obr. č. 50). Tyto problémy lze odstranit i použitím nadstaveb. Postup vytvá ření Live OS v programu Ultimate Boot CD for Windows (http://www.ubcd4win.com/index.htm) je tém ěř identický jako v Bart's PE Builder. Sou částí instalace je i program Ultimate boot USB (Obr. č. 48), který slouží pro vytvo ření Live USB.

62

Obr. č. 49 - Program UBUSB.

Obr. č. 50 - Vzhled prost ředí Live OS UBCD4Win – plocha.

63

Hodnocení: + jednoduché vytvo ření Live OS + velké množství dostupných zásuvných modul ů + možnost vytvo řit si vlastní zásuvné moduly + česká lokalizace programu + cena (Freeware) - prost ředí je nutné lokalizovat pomocí zásuvných modul ů - vzhled LiveOS, pokud nejsou použity zásuvné moduly/nadstavby

2.4.1 Postup v programu WinBuilder

Program lze stáhnout ze stránky http://winbuilder.net/download.php. Stáhnout lze jak program samotný tak projekty. Stáhneme projekt LiveXP (http://winbuilder.net/download.php?view.35), který už obsahuje i program WinBuilder.

Instalace: − Program získáme rozbalením staženého souboru LiveXP-Recommended.zip.

Vytvo ření Live OS: − Spustíme program WinBuilder. Zobrazí se hlavní okno programu (Obr. č. 51). Pro testovací ú čely není nutné nastavení m ěnit a necháme všechny skripty přednastavené. Vytvo ření spustíme stiskem modrého tla čítka Play. Tla čítkem Download je možné stažení dalších dostupných projekt ů. Program umož ňuje velmi detailní nastavení. Veškerý popis je ovšem v angli čtin ě.

64

Obr. č. 51 – Prost ředí programu WinBuilder. − Je nutné zadat cestu k instala čním soubor ům MS Windows (Obr. č. 52). Jako zdroj jsou použity soubory Windows XP Professional with Service Pack 3 - VL (x86) - CD (Czech). Pokra čujeme stiskem tla čítka Continue.

Obr. č. 52

65

− Spustí se provád ění skript ů (Obr. č. 53).

Obr. č. 53 − Jako p ředposlední krok se spustí QEMU (Obr. č. 54), ve kterém je možné ov ěř it funk čnost vytvo řeného Live OS. Po ukon čení QEMU se zobrazí nabídka na vypálení Live CD. Program m ůžeme ukon čit.

Obr. č. 54

66

Výsledek Výsledný obraz Live CD má velikost 174 MB. Pro p řevedení na Live USB je pot řeba použít nástroje t řetích stran nebo skript/projekt, který toto umož ňuje. Prost ředí je částe čné české a částe čně jsou popisy anglicky. U většiny LiveOS spoušt ěných z USB flash disku závisí možnost použití na BIOSu, zda podporuje bootování z našeho média. Jak z prost ředí BartPE tak LiveXP je možné spoušt ět p řenosné a virtualizované programy. Díky Live OS máme tedy stále s sebou systém, který pot řebujeme.

Hodnocení: + jednoduché vytvo ření Live OS + vzhled Live OS jako Windows + velké množství dostupných projekt ů/skript ů + možnost konfigurace + cena (Freeware) - není česká lokalizace programu (prost ředí Live OS je lokalizované částe čně)

67

2.5 Vlastní zp ůsob pomocí jednoduchého spoušt ěč e (Launcher)

V poslední části se pokusím popsat, jak vytvo řit vlastní jednoduchý spoušt ěč pro p řenosné aplikace. Jedná se o postup podobný tomu, jako používají zdarma dostupné programy pro vytvá ření p řenosných aplikací pro platformu PortableApps.com. Spoušt ění aplikace bude pomocí Launcheru. Launcher nám umožní řízené spušt ění aplikace a nastavení n ěkolika d ůležitých parametr ů, aby mohla aplikace pracovat jako p řenosná. Budu se snažit dodržet standard složek pro PortableApp.com. Jelikož však neznám skriptovací jazyk NSIS, použiji pro vytvo ření Launcheru jazyk AutoIt3.

Pot řebné programy (Freeware): AutoIt Dependency Walker InstallRite / InstallWatch MHS - L. Spiro's Memory Hacking Software MultiMon - Advanced Multifunctional System Monitor NirSoft utilities RegShot Sandboxie Sysinternals Suite Universal Extractor UPM - Ultimate Process Manager UPX - the Ultimate Packer for eXecutables XN Resource Editor ZSoft Uninstaller

Popis postupu pro v ětšinu program ů Jako první je instalace a konfigurace programu, který chceme p řed ělat na p řenosnou aplikaci. M ůžeme použít program RegShot pro vytvo ření snímku p řed instalací

68

a po instalaci nebo m ůžeme použít program k monitorování instala čního procesu (InstallRite, ZSoft Uninstaller). Pro kontrolu m ůžeme použít vyhledání registr ů a soubor ů, které program používá a m ění pomocí monitorovacích nástroj ů (MultiMon, Sysinternals Suite). Je d ůležité zjistit všechny tyto zm ěny, pokud nechceme, aby nám spušt ění přenosné aplikace ovlivnilo nastavení nep řenosné nainstalované aplikace. Spoušt ěč p řed spušt ěním samotné aplikace vytvo ří zálohu registr ů/soubor ů, které bude m ěnit. Pak nahraje registry/soubory s nastavením a údaji, které jsou pot řebné pro běh přenosné aplikace. Po ukon čení přenosné aplikace spoušt ěč uloží obsah registr ů do souboru (ini nebo reg), vytvo ří zálohu soubor ů z pevného disku a tyto hodnoty/soubory poté smaže (nebo vrátí p ůvodní). Pokud chceme ušet řit místo na USB flash disku, použijeme komprimaci projektu pomocí UPX (pokud je to pro danou aplikaci vhodné). Nap řed je nutné zjistit, jestli už není p ůvodní aplikace komprimovaná (podle hlavi čky-sekcí programem PEiD). Před výslednou kompilací spoušt ěč e do exe souboru p řekontrolujeme napsaný skript a doplníme popis. Ikonu pro spoušt ěč získáme z nainstalovaného programu nap říklad pomocí XN Resource Editoru. N ěkdy je pot řeba dodat s aplikací pot řebné DLL knihovny. Tyto knihovny lze zjistit programem Dependency Walker. P ři startu je spoušt ěč zaregistruje, p ři ukon čení odregistruje. Důležité je následné otestování vytvo řené p řenosné aplikace na n ěkolika HW konfiguracích, opera čních systémech a p řípadné odstran ění nalezených problém ů.

Ukázka postupu pro jednoduchý spoušt ěč Pro demonstraci jsem vybral nejjednodušší možnost, kdy lze program upravit na p řenosnou aplikaci pomocí parametru p ři spoušt ění. Pro tento p řípad se hodí použít program pro VoIP komunikaci – Skype. Ten neobsahuje mnoho soubor ů a nezapisuje do registr ů. Monitorováním lze zjistit, že se program nainstaluje do složky C:\Program Files\Skype\Phone jako jeden soubor Skype.exe. Profil je uložen ve složce C:\Documents and Settings\Administrator\Data aplikací\Skype. Vytvo řím si strukturu adresá řů pro p řenosnou aplikaci (Obr. č. 55). Soubor Skype.exe p řekopíruji do složky

69

SkypePortable\App\Skype a obsah profilu do složky SkypePortable\Data. Do složky SkypePortable\Other\Source uložím ikonu a zdrojový kód spoušt ěč e.

Obr. č. 55 - Struktura adresá řů p řenosné aplikace.

Funkce jednoduchého spoušt ěč e: Launcher obsahuje n ěkolik funkcí. Jako první je kontrola existence pot řebných soubor ů pro spušt ění aplikace. Následuje test, jestli už aplikace není spušt ěna. Launcher kontroluje a vyžaduje spušt ění s právy administrátora. Launcher spustí aplikaci a poznamená si PID, čeká na ukon čení aplikace (podle PID). Druhá možnost, která je nakonec vybrána, je Launcher po spušt ění aplikace pozastavit a ten čeká na ukon čení spušt ěné aplikace a poté se sám také ukon čí. Zdrojový kód vlastního spoušt ěč e je sou částí práce jako P říloha č. 2 a dále je obsažen i na p řiloženém DVD.

70

2.6 Celkové vyhodnocení

Nyní se pokusím v několika bodech shrnout vlastnosti jednotlivých řešení. V tabulce (Tab. č. 3) je porovnání velikosti výsledných řešení.

Virtualizace aplikací: + snadné vytvo ření aplikace + může být spušt ěna originální i více virtuálních aplikací najednou + neovliv ňování nastavení – dokonalá izolace + bezpe čnost - nejsou nutná práva administrátora + b ěh na r ůzných verzích OS MS Windows (pop řípad ě i GNU/Linux p řes WINE) - velmi vysoké ceny (SW ur čen pro korporace)

Sady p řenosných aplikací a jejich platformy: + cena - mnoho sad dostupných jako Open Source / Freeware + máme na výb ěr z velkého množství již hotových aplikací - bez použití virtualizace pouze p řenosné aplikace dostupné v balíku (složit ější p řidávání nebo tvorba vlastních) - alespo ň základní znalost správy OS pro vytvá ření vlastních p řenosných aplikací

Live OS: + nezáleží jaký OS je na po číta či, kde chceme pracovat (máme vlastní vždy po ruce) + možnost spustit vlastní p řenosné aplikace - složit ější přidávání nebo tvorba vlastních zásuvných modul ů - ne vždy nám po číta č umožní bootování (nastavení biosu nebo USB boot)

Vlastní spoušt ěč : - pouze pro jednoduché aplikace - většinou nem ůže být spušt ěno více aplikací najednou - znalost OS a programování

71

Záv ěr

Cílem práce bylo popsat, co je p řenosná aplikace, jaké p řináší výhody a ukázat n ěkolik řešení, jak p řenosné aplikace získat. Zkušený programátor si dokáže aplikaci ze zdrojových kód ů upravit sám, ale v ětšina uživatel ů je odkázána na řešení, které již někdo p řipravil. Popisovaná problematika je velmi obsáhlá a neexistuje ideální univerzální řešení. Každé má své pro i proti. Jednoduché aplikace je možné získat ve zdarma dostupných sadách. Pro v ětšinu uživatel ů mohu tedy doporu čit platformu PortableApps.com a nebo sadu LiberKey. Tyto sady nejsou založené na virtualizaci, ale obsahují velké množství aplikací. Pokud ovšem není aplikace sou částí p řenosných platforem nebo sad aplikací, nezbývá, než použít virtualizaci aplikací. Pro virtualizaci hovo ří i bezpe čnost. Virtualizace je také jediné řešení pro složit ější programy. Zde rozhoduje cena. Zdarma dostupná platforma MojoPac je velmi limitována použitím pouze na OS Windows XP. Ideálním řešením pro pom ěr cena/výkon je použití platformy Ceedo. Základní verze není drahá a díky virtualizaci aplikací umož ňuje snadné přidávání vlastních program ů. Programy VMware ThinApp a XeNOCODE Virtual Application Studio jsou velmi drahé. Jejich použití je cílené především na velké korporace. Tyto programy podporují streamování aplikací a jsou tedy i řešením, jak získat aplikace, které lze spustit odkudkoliv prostřednictvím sít ě internet. Zajímavá je i otázka použití Live OS. Uplatní se zejména pokud pot řebujeme specifický opera ční systém pro b ěh používaných program ů. Záv ěrem mohu poznamenat, že za dobu co se o tuto problematiku zajímám, nastal veliký posun vpřed jak v samotných technologiích, tak i v jejich používání. Stále více uživatel ů objevuje výhody p řenosných a virtualizovaných aplikací a jejich používání velmi rychle nar ůstá a nástroje se stávají dostupn ější a propracovan ější. Doufám, že tento trend bude nadále pokra čovat a v ětšina program ů bude dostupných jako aplikace, které není t řeba instalovat.

72

Seznam použitých zdroj ů

[1] Portable application [online]. 2008 [cit. 2008-10-28]. Dostupný z WWW: . [2] Po číta č pro každého. Mějte své programy vždy po ruce! [online]. 12/2008 [cit. 2009- 01-12]. Dostupný z WWW: < http://www.ppk.cz/pdf/2008/PPK_12- 2008_Portable_aplikace_48-49.pdf>. [3] List of portable software [online]. 2008 [cit. 2008-10-28]. Dostupný z WWW: . [4] Portable Software Applications that run from USB [online]. 2008 [cit. 2008-10-28]. Dostupný z WWW: . [5] The Portable Freeware Collection [online]. 2008 [cit. 2008-10-28]. Dostupný z WWW: . [6] Portable application creators [online]. 2009 [cit. 2009-09-17]. Dostupný z WWW: . [7] Portable Application Conversion Technology [online]. 2009 [cit. 2009-09-17]. Dostupný z WWW: . [8] Virtualizace. MANAG a.s. [online]. 09/2008 [cit. 2009-09-17]. Dostupný z WWW: . [9] Virtualization [online]. 2009 [cit. 2009-09-17]. Dostupný z WWW: . [10] Application virtualization [online]. 2009 [cit. 2009-10-12]. Dostupný z WWW: . [11] Microsoft® Application Virtualization [online]. 24.01.2008 [cit. 2009-10-12]. Dostupný z WWW: . [12] ZUGEC, Martin . Application virtualization [online]. 28.03.2008 [cit. 2009-10-12]. Dostupný z WWW: .

73

[13] Application streaming [online]. 2009 [cit. 2009-10-13]. Dostupný z WWW: . [14] Sandboxie: Pískovišt ě bez bábovi ček [online]. 11.03.2008 [cit. 2009-10-14]. Dostupný z WWW: . [15] Comparison of application virtual machines [online]. 2009 [cit. 2009-10-14]. Dostupný z WWW: . [16] Software compatibility with VMware ThinApp [online]. 2008 [cit. 2009-10-14]. Dostupný z WWW: . [17] Wine (software) [online]. 2009 [cit. 2009-10-15]. Dostupný z WWW: . [18] VMware ThinApp [online]. 2009 [cit. 2009-10-15]. Dostupný z WWW: . [19] VMware ThinApp 4.0 zajiš ťuje bezkonfliktní virtuální b ěh libovolné aplikace na jakékoli verzi OS Windows [online]. 16.6.2008 [cit. 2009-10-15]. Dostupný z WWW: . [20] Application Virtualization 2008-2009 [online]. 21.1.2009 [cit. 2009-10-15]. Dostupný z WWW: . [21] Application Virtualization comparison chart September 2009 [online]. 01.09.2009 [cit. 2009-10-15]. Dostupný z WWW: . [22] Make portable applications with VMware ThinApp [online]. 2008 [cit. 2009-10- 15]. Dostupný z WWW: .

74

[23] 5 free portable application suites [online]. 22.01.2009 [cit. 2009-10-18]. Dostupný z WWW: . [24] Five Best Portable Apps Suites [online]. 2009 [cit. 2009-10-18]. Dostupný z WWW: . [25] USB disk jako p řenosná kancelá ř [online]. 19.11.2009 [cit. 2009-11-19]. Dostupný z WWW: . [26] PortableApps.com Suite and PortableApps.com Platform [online]. 2009 [cit. 2009- 10-19]. Dostupný z WWW: . [27] PortableApps.com Suite – balíček p řenosných aplikací [online]. 10.03.2008 [cit. 2009-10-19]. Dostupný z WWW: . [28] PortableApps.com [online]. 2009 [cit. 2009-10-19]. Dostupný z WWW: . [29] LiberKey [online]. 2009 [cit. 2009-10-19]. Dostupný z WWW: . [30] Liberkey: 200+ Portable Apps Wherever You Go [Windows] [online]. 09.06.2009 [cit. 2009-10-19]. Dostupný z WWW: . [31] Bring the power of portable software to your USB flash drive - make it a U3 smart drive [online]. 09.06.2009 [cit. 2009-10-19]. Dostupný z WWW: . [32] U3 [online]. 2009 [cit. 2009-10-19]. Dostupný z WWW: . [33] winPenPack - The Portable Software Collection [online]. 2009 [cit. 2009-10-19]. Dostupný z WWW: . [34] Ceedo – flexible computing through virtualization [online]. 2009 [cit. 2009-10-20]. Dostupný z WWW: . [35] Ceedo [online]. 2009 [cit. 2009-10-20]. Dostupný z WWW: .

75

[36] MojoPac [online]. 2009 [cit. 2009-10-20]. Dostupný z WWW: . [37] MojoPac [online]. 2009 [cit. 2009-10-20]. Dostupný z WWW: . [38] Comparison of application launchers [online]. 2009 [cit. 2009-10-28]. Dostupný z WWW: . [39] Live OS jako na dlani [online]. 09.11.2006 [cit. 2009-11-02]. Dostupný z WWW: . [40] Live CD [online]. 2009 [cit. 2009-11-02]. Dostupný z WWW: . [41] Live USB [online]. 2009 [cit. 2009-11-02]. Dostupný z WWW: . [42] List of live CDs [online]. 2009 [cit. 2009-11-02]. Dostupný z WWW: . [43] Windows Preinstallation Environment [online]. 2009 [cit. 2009-11-02]. Dostupný z WWW: . [44] List of tools to create Live USB systems [online]. 2009 [cit. 2009-11-02]. Dostupný z WWW: . [45] Bart's Preinstalled Environment (BartPE) bootable live windows CD/DVD [online]. 2009 [cit. 2009-11-02]. Dostupný z WWW: . [46] BartPE [online]. 2009 [cit. 2009-11-03]. Dostupný z WWW: . [47] The FREE Reatogo-X-PE Boot CD [online]. 2009 [cit. 2009-11-03]. Dostupný z WWW: . [48] UBCD for Windows [online]. 2009 [cit. 2009-11-03]. Dostupný z WWW: . [49] WinBuilder [online]. 2009 [cit. 2009-11-03]. Dostupný z WWW: . [50] WinBuilder [online]. 2009 [cit. 2009-11-03]. Dostupný z WWW: .

76

[51] WinBuilder [online]. 2009 [cit. 2009-11-03]. Dostupný z WWW: . [52] Cloud computing [online]. 2009 [cit. 2009-11-07]. Dostupný z WWW: . [53] Cloud computing [online]. 2009 [cit. 2009-11-07]. Dostupný z WWW: . [54] Web application [online]. 2009 [cit. 2009-11-07]. Dostupný z WWW: . [55] What is a Web Application? [online]. 2009 [cit. 2009-11-07]. Dostupný z WWW: . [56] AMBROŽ , Jan . Web 2.0: bublina, nebo nový sm ěr webu? [online]. 27.4.2009 [cit. 2009-11-07]. Dostupný z WWW: . [57] Web 2.0 [online]. 2009 [cit. 2009-11-07]. Dostupný z WWW: . [58] Web application framework [online]. 2009 [cit. 2009-11-07]. Dostupný z WWW: . [59] SaaS [online]. 2009 [cit. 2009-11-08]. Dostupný z WWW: . [60] Software as a service [online]. 2009 [cit. 2009-11-08]. Dostupný z WWW: . [61] The Unofficial Web Applications List [online]. 13.7.2007 [cit. 2009-11-08]. Dostupný z WWW: . [62] Kancelá ř jde do nebe [online]. 17.7.2008 [cit. 2009-11-08]. Dostupný z WWW: . [63] Web desktop [online]. 2009 [cit. 2009-11-08]. Dostupný z WWW: . [64] Webové opera ční systémy [online]. 03.03.2008 [cit. 2009-11-08]. Dostupný z WWW: .

77

Přílohy

Příloha č. 1 - Seznam dalších zajímavých odkaz ů.

Přenosné aplikace: http://www.emag.cz/mojopac-sbalte-si-svoje-windows-na-cesty/ http://www.everythingusb.com/ http://portable.paxik.net/doku.php?id=portable_aplikace_home http://www.playgate.cz/index.php?Itemid=15&catid=13:informace&id=146:portable- applications&option=com_content&view=article http://blog.mirda.net/internet_a_pocitace/prenosne-aplikace-pro-usb-flash/ http://technet.idnes.cz/oblibene-programy-mejte-vzdy-pri-ruce-a-bez-instalace-p0l- /software.asp?c=A070308_135727_software_vse http://appstogo.mcfadzean.org.uk/ http://www.techsupportalert.com/guide-to-portable-applications.htm http://www.makeuseof.com/tag/portable-software-usb/

Virtualizace: http://www.svetsiti.cz/print.asp?rubrika=Technologie&clanekID=305 http://lightninggroup.org/blogs/michal/category/virtualizace/ http://en.wikipedia.org/wiki/Virtualization_Development http://cs.wikipedia.org/wiki/Virtualizace http://en.wikipedia.org/wiki/Hypervisor http://en.wikipedia.org/wiki/X86_virtualization http://en.wikipedia.org/wiki/Operating_system-level_virtualization http://wiki.openvz.org/Introduction_to_virtualization http://www.kernelthread.com/publications/virtualization/ http://www.cbronline.com/article_feature.asp?guid=609D18C1-C9F9-42A5-9BE3- B5B3B781C91B http://www.btquarterly.com/?page=Virtualization

78

http://virtualization.com/ http://en.wikipedia.org/wiki/Platform_virtualization http://en.wikipedia.org/wiki/Virtual_machine http://cs.wikipedia.org/wiki/Virtuální_stroj http://en.wikipedia.org/wiki/Comparison_of_virtual_machines http://www.craftcom.net/index.php?article=108 http://www.virtualbox.org/ http://cs.wikipedia.org/wiki/VirtualBox http://en.wikipedia.org/wiki/VirtualBox http://www.vmware.com/ http://cs.wikipedia.org/wiki/VMware_Workstation http://en.wikipedia.org/wiki/VMware_Workstation http://cs.wikipedia.org/wiki/VMware http://en.wikipedia.org/wiki/VMware http://www.zive.cz/Clanky/VMware-Workstation--i-deset-pocitacu-v-jednom/sc-3-a- 120317/default.aspx http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx http://en.wikipedia.org/wiki/VirtualPC http://www.emag.cz/microsoft-virtual-pc-2007/ http://www.zdarma.org/696-virtual-pc-pocitac-zdarma/ http://www.emag.cz/vmware-virtual-pc-parallels-nebo-/

Virtualizace aplikací: http://en.wikipedia.org/wiki/Desktop_virtualization http://www.youtube.com/watch?v=NsEXvCBbnkc http://en.wikipedia.org/wiki/VMware_ThinApp http://www.xanadu.cz/?art=1039 http://en.wikipedia.org/wiki/Xenocode http://www.xenocode.com/ http://www.xenocode.com/Products/Suite/Wow.aspx

79

http://en.wikipedia.org/wiki/Citrix_XenApp http://www.citrix.com/English/ps2/products/product.asp?contentID=186 http://en.wikipedia.org/wiki/Microsoft_Application_Virtualization http://www.microsoft.com/systemcenter/appv/default.mspx http://technet.microsoft.com/en-us/appvirtualization/bb676739.aspx http://www.virtualapp.net/ http://www.softgridguru.com/ http://www.svetmanagementu.cz/category/system-center/softgrid/ http://en.wikipedia.org/wiki/Software_Virtualization_Solution http://www.symantec.com/business/software-virtualization-solution-professional http://juice.altiris.com/page/86/get-svs-here-now http://www.slunecnice.cz/sw/software-virtualization-solution/ http://www.endeavors.com/showscreen.php?site_id=23&screentype=site&screenid=23 http://www.trigence.com/products/index.html

WINE: http://www.winehq.org/ http://cs.wikipedia.org/wiki/Wine

Live OS: http://cs.wikipedia.org/wiki/Live_CD http://cs.wikipedia.org/wiki/Windows_Preinstallation_Environment http://cs.wikipedia.org/wiki/Bart_PE http://en.wikipedia.org/wiki/VistaPE http://en.wikipedia.org/wiki/List_of_LiveDistros http://en.wikipedia.org/wiki/Comparison_of_Linux_Live_Distros http://pctuning.tyden.cz/software/ladeni-windows/4537-- chcete_funkcni_windows_xp_na_cd http://www.os-net.cz/windows/xp/windows-xp-live-cd/ http://www.ovsem.net/windows-xp/windows-xp-live-verze/

80

http://technet.idnes.cz/spustte-si-windows-xp-primo-z-cd-ci-dvd-dyg- /software.asp?c=A080207_165504_software_dvr http://www.adminxp.cz/windowsvista/index.php?aid=223 http://www.microsoft.com/cze/licence/programy/sa/podpora/winpe.mspx http://oem.microsoft.com/public/seo/winpe.htm http://technet.microsoft.com/cs-cz/windows/aa905120(en-us).aspx http://www.craftcom.net/03_bart/bartpexpe.htm http://www.craftcom.net/13_bartperam/bartpe_usbflash.htm http://www.craftcom.net/index.php?article=124 http://www.craftcom.net/index.php?article=150 http://www.craftcom.net/index.php?article=151 http://users.telenet.be/Robvdb/BootPEUSB_UK.htm http://gocoding.com/page.php?al=petousb http://www.911cd.net/forums/index.php?showtopic=10806 http://www.collewijn.info/xpe/page/pe2usb.php http://articles.techrepublic.com.com/5100-22_11-5928902.html http://www.help2go.com/Tutorials/Windows/Create_a_Windows_Boot_CD_%10_Resc ue_CD.html http://lgdpc.hopto.org/bart/bart.htm http://www.911cd.net/forums//lofiversion/index.php/ http://www.frozentech.com/content/livecd.php http://custom.nimblex.net/ http://www.tldp.org/HOWTO/Bootdisk-HOWTO/cd-roms.html http://www.freesoftwaremagazine.com/articles/live_cds http://www.ultimatebootcd.com/

Cloud computing: http://cs.wikipedia.org/wiki/Cloud_computing http://www.zive.cz/Clanky/Cloud-computing-slibna-budoucnost-nebo-marketing/sc-3- a-144443/default.aspx

81

http://www.zive.cz/clanky/cernobile-dozral-cas-na-cloud-computing/sc-3-a- 149779/default.aspx http://www.lupa.cz/clanky/cloud-computing-trend-nebo-dalsi-buzzword/ http://zdrojak.root.cz/clanky/cloud-computing-jiny-pohled-na-aplikace/ http://www.smashingapps.com/2008/07/11/21-online-free-web-based-applications-that- you-probably-would-love-to-use-every-day.html http://www.microsoft.com/cze/mojefirma/columns/is-software-as-a-service-right-for- your-business.mspx http://www.progress.com/cz/partneri/saas/index.ssp http://en.wikipedia.org/wiki/Web_operating_system http://www.maxiorel.cz/windows4all-operacni-system-v-okne-prohlizece

AutoIt: http://www.autoitscript.com/autoit3/ http://en.wikipedia.org/wiki/AutoIt http://www.craftcom.net/08_upravujeme/autoit.htm http://jampage.wz.cz/adobsah.htm http://www.studna.cz/1095/vyvoj-software/instalacni-utility/autoit/

82

Příloha č. 2 - Zdrojový kód vlastního jednoduchého spoušt ěč e pro program Skype.

83