Wine je značně nekompletní, takže na něm out-of-the-box zřejmě víc věcí nefunguje než funguje. Ale teoreticky by se dalo rozchodit pod Services for Linux, a šly by vyrobit nějaké helpery, řekněme Winetricks-on-Windows. A pokud bude Wine jednou dostatečně kompletní, určitě pod ním poběží i Windows Services for Linux, tak jako v opravdových Windows. Pak můžete spustit Windows, na nich Ubuntu, na něm Wine, a na něm třeba openSUSE. Pro jistotu by bylo dobré to celé provozovat jako virtuál :)
A jaký komentář čekáte? :) Windows mají velmi dobrou zpětnou kompatibilitu, s výjimkou kernelových driverů, kde se interface občas mění. Bohužel některé aplikace jsou špatně napsané a spoléhají na nedokumentované vlastnosti systému. Takové aplikace se buď dají spustit v Compatibility Mode, nebo se holt musíte dohodnout s jejich autory. Pochopitelně pokud máte dost trpělivosti, můžete si stáhnout debugger a rýpat se v tom sám.
Nicméně to srovnejte se situací na Linuxu, kde se aplikace vydávají pro konkrétní verzi konkrétního distra, a instalace na jiné verzi jiného distra je čistá sázka do loterie. Co byste dělal řekněme s účetnictvím pro Linux, které kdysi fungovalo v distru A verze B, a nefunguje vám dneska na distru X verze Y?
Opravdu? Nějak jsem si toho nevšimnul. Například to co jsem já napsal pro Windows 2000 funguje dodnes na nejnovější verzi.
Mimochodem jak konkrétně je to věc architektury Windows, co konkrétně je podle vás špatně? Dáte příklad nějakých API, které se mezi verzemi mění tak, že by to komplikovalo zpětnou kompatibilitu?
Jiste, ze Hello world! bude fungovat i po 15 letech. To by byl pruser kdyby ne :-)
API se zcasti jednak meni, ale hlavne mizi casti oznacene jako deprecated. Proto jsou potreba ruzne klicky jak tohle, jak tamto cimz aplikace ztraci stabilitu. Tohle je obecny trend ukoncit podporu starsich verzi aplikaci a MS v tom umi chodit. Bohuzel zakaznich tim zachazi na ubyte.
OK, koukněme se na nějakou aplikaci, která není Hello World :). Jaké konkrétní API se mění tak aby to mělo vliv na zpětnou kompatibilitu? Které konkrétní věci označené jako deprecated mizí? A proč a jak konkrétně tím aplikace "ztrácí stabilitu"?
Aplikace mají ve skutečnosti v naprosté většině případů problém když jsou špatně napsané (nebo když obsahují kernelové drivery). Typické je třeba vykrádání zdrojů: autor aplikace chce použít ikonu nebo animaci. Takže třeba animaci kopírování souboru vytáhne z knihovny Shell32.dll. V další verzi Windows je ta animace úplně jinde, protože nejde o dokumentovaný interface. Aplikace pak spadne na výjimku, protože se autor ani neobtěžoval ošetřit situaci, kdy tu animaci nedokáže natáhnout. Díky tomu MS nechává v knihovnách shellu i ikony které už léta nepoužívá, protože jinak by špatně napsané aplikace padaly. Animace i ikony se samozřejmě dodávají v rámci SDK, ale autoři aplikací jsou prostě často prasata. Takových příběhů, které ukazuj až neuvěřitelné prasárny autorů aplikací, mají v MS tuny.
http://blogs.msdn.com/b/oldnewthing/archive/2005/10/26/485133.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2003/12/23/45481.aspx
http://technet.microsoft.com/en-us/magazine/2006.11.windowsconfidential.aspx
http://technet.microsoft.com/en-us/magazine/2006.10.windowsconfidential.aspx
http://blogs.msdn.com/b/oldnewthing/archive/2005/09/01/459023.aspx
Další problém je v tom, že celý SW průmysl je v dlouhé krizi. SW se často píše v C/C++, což je jazyk který vyloženě svádí k chybám. Koukněte se jen na bezpečnostní zranitelnosti za minulý rok. Android 523 zranitelností, Flash Player 266, linuxový kernel 216, Adobe reader 204, Google Chrome 172. Týmy nejlepších programátorů na světě sedí nad výrobou browserů které parsují pár set HTML tagů, a pluginů pro browsery které umí přehrávat stupidní a obtěžující animace, a výsledek má stovky zranitelností ročně. Nemluvě o počtech bugů, které budou ještě řádově vyšší. V takovém světě bohužel nepřekvapí, že sem tam nějaká aplikace nefunguje s novou verzí OS.
https://www.bleepingcomputer.com/news/security/android-was-2016s-most-vulnerable-product/
BTW srovnejte se situací na Linuxu, kde se aplikace vydávají pro konkrétní verzi konkrétního distra, a instalace na jiné distro (nebo jinou verzi distra) je sázka do loterie, která může skončit klidně i kompletně rozdrbaným systémem. Mě to přijde daleko drsnější, než cokoliv co vidíte ve světě Windows.
Je ovšem třeba také dodat, že to, že zatímco u Wine trvá léta implementovat alespoň omezenou funkcionalitu windows, zatímco na windows jdou portovat linuxy jak windows na krámě, nehovoří o kvalitě Windows a nekvalitě Linuxu, ale právě naopak: snadná porotovatelnost hovoří o kvalitě API....
od doby kdy Microsoft ma pristup ke kompletnim zdrojakum linux kernelu i GNU userspace...
pokud by autori Wine meli pristup ke kompletnim zdrojakum NT Kernelu a Windows userspace, tak by jim vyvoj sel take 1000x rychleji a lepe...
koneckoncu to ze pod Wine jede (fakticky, narozdil od trapnejch kecu PR saska LO z oddeleni Microsoftu) out-of-box spousta narocnych programu (Adobe Photoshop, IdDesign, Ilustrator..) je dukaz ze i presto ze zdrojaky Windows nemaji tak to co dokazali by jim mohl kazdy "vyvojar" z Microsoftu zavidet...
Ad pod Wine jede ... out-of-box spousta narocnych programu (Adobe Photoshop, IdDesign, Ilustrator..) - fakt? Jako poslední Photoshop v appdb vidím předposlední verzi. Ještě rok po uvedení nešla ani nainstalovat. Teď je "Gold", což v praxi znamená že se doporučuje používat 32-bitovou verzi protože 64-bitová padá, instalaci je nutné provést v módu Win7 a pro běh aplikace přepnout na Win8, mít vypnuté připojení k netu (jinak to spadne), a je potřeba doinstalovat 11 balíčků, z toho minimáně 8 od MS. Podotýkám že se jedná o user report, a ten člověk nejspíš nevyzkoušel všechno, takže aplikace může padat nebo být jinak nepoužitelná.
https://appdb.winehq.org/objectManager.php?sClass=version&iId=32438
Co koukám na InDesign, tak nic moc, status "Grabage":
https://appdb.winehq.org/objectManager.php?sClass=version&iId=34427
No a Illustrator ani nemá recentní záznam v appdb.
https://appdb.winehq.org/objectManager.php?sClass=application&iId=20
Když to shrnu, tak aplikace pod Wine většinou neběží out-of-the-box. Je potřeba si s tím pohrát, a pak to možná nějak poběží. Nepochybuji že v některých případech bude možné aplikaci provozovat i produktivně, ale rozhodně bych na to nespoléhal. Ale produktivní použití se vás asi netýká, protože ani neumíte správně napsat jména aplikací, o kterých mluvíte.
Aha. Takže v databázi kompatibility aplikací na webu Wine píšou že ani aplikace ve stavu "Gold" nefunguje out-of-the-box, tak bych asi podle vás neměl "zneužívat informace ke špinění a plivání", a místo toho vám pochválit, že s Wine fakt není problém a všechno funguje na první dobrou? Tak si představujete "nešpinění" a "neplivání"? No tak to potom ano :)
FYI k tomu aby byl vidět zásadní problém celého Wine není ani potřeba se koukat na implementaci jednotlivých API a různé nedodělky a bugy těch implementací. Wine totiž implementuje jen 73% volání Win32 API. A to v té statistice nevidím třeba DirectX 12, kdo ví co dalšího tam není započítáno. Neimplementovaná volání se obslouží prostě tak že Wine nic neudělá a vrátí informaci o tom že volání proběhlo úspěšně, a doufá se, že to běhu aplikace zrovna nijak neuškodí. S takovým přístupem se nemůžete divit, že aplikace mají větší či menší problémy.
https://www.winehq.org/winapi_stats