====== Shockwave Player ====== ===== Shockwave Player 11 ===== Uusin testattu versio on 11.6.6.636. ==== MSI-paketin muokkaus ==== Nouda MSI-paketti [[http://www.adobe.com/products/shockwaveplayer/shwv_distribution3.html|Adobelta]]. Luo sille uusi transform-tiedosto, johon tehdään seuraavat muutokset: Property-tauluun: * AgreeToLicense arvoksi Yes * ISCHECKFORPRODUCTUPDATES arvoksi 0 Registry-tauluun kaikkiin seuraavien registry-avainten arvoksi 'n'. * SOFTWARE\Macromedia\Shockwave 10\collectstats * SOFTWARE\Macromedia\Shockwave 10\uicontrol\AlwaysRegister * SOFTWARE\Macromedia\Shockwave 10\uicontrol\CollectStatistics * SOFTWARE\Adobe\Shockwave 11\AutoUpdate * SOFTWARE\Macromedia\Shockwave 10\CollectStatistics * SOFTWARE\Adobe\Shockwave 11\uicontrol\ShowRegisterDialog * SOFTWARE\Adobe\Shockwave 11\uicontrol\AlwaysRegister * SOFTWARE\Adobe\Shockwave 11\uicontrol\CollectStatistics * SOFTWARE\Adobe\Shockwave 11\collectstats ===== Shockwave Player 10 ===== Uusin testattu versio 10.1.4.020 **Shockwave Playerin versio 10.1.4.020 on ladattavissa Adoben sivuilta.** ===== Vanhemmat versiot ===== **Adobe on tällä hetkellä poistanut Shockwave Playerin MSI-asennuspaketin lataussivustoltaan ja kehottaa käyttämään sen sijaan muita asennustapoja. Toivottavasti tämä tarkoittaa, että joskus tulevaisuudessa MSI-paketista on odotettevissa toimiva versio.** Shockwave Playerista on olemassa MSI-paketti, joka tosin on melko onneton räpellys ja vaati pientä viilausta, mutta on kuitenkin miellyttävämpi vaihtoehto kuin koko Shockwaven uudelleenpaketointi. Lisäksi Firefoxin pluginia varten on helpointa tehdä oma MSI-pakettinsa. ===== Jakelulisenssi ja MSI-paketin metsästäminen ===== Shockwave Playerin MSI-pakettia ei saa ladattua suoraan Macromedian (Adoben) sivuilta, vaan ensin täytyy "hankkia" ilmainen ohjelman levittämiseen oikeuttava jakelulisenssi, [[http://www.macromedia.com/licensing/distribution/|Distribution License]]. Käytännössä kyseessä on siis rekisteröityminen. Kun rekisteröinti on suoritettu, saapuu jossain vaiheessa sähköposti, (eikä se suinkaan ole se ensimmäinen) jossa kerrotaan linkki, josta MSI-paketin voi käydä lataamassa. Tässä vaiheessa ei vielä kannata innostua, vaan noutaa paketti ja lukea eteenpäin. ===== Ensimmäinen korjaus: Application Data ===== Macromedialla ovat suuressa viisaudessaan tehneet MSI-pakettiin Custom Actionin, joka yrittää purkaa paketista jotain käyttäjän profiilihakemistoon (tämä ei siis todellakaan ole mikään MSI-paketoinnin helmi). Valitettavasti vain kun pakettia asentaa "Local System" - esimerkiksi Group Policyjen kautta tapahtuvan Assigned-asennuksen aikana - ei profiilihakemistoa löydykään ja asennus epäonnistuu surkeasti. Event Viewerin Application-lokista löytyy seuraava virhe: Error 1606. Could not access network location \Macromedia\Shockwave Player\. Ratkaisu ongelmaan on avata Shocwave Playerin MSI-paketti (''sw_lic_full_installer.msi'') Orca:lla ja muuttaa vastaan hangoitteleva Custon Action käyttämään jotain muuta hakemistoa. Muutos tehdään CustomAction -taulussa olevaan ''setPROFILE'' Custom Actioniin, jonka ''Target''-sarakkeesta vaihdetaan merkkijonon ''[%APPDATA]'' tilalle esimerkiksi ''[%TEMP]'' alla olevien kuvien esimerkin mukaisesti. (Ja kyllä vaan, voisihan tässä käyttää jotain fiksumpaakin arvoa kuin ympäristömuuttuja, mutta ei tämä kötöstys koristelemalla kauniimmaksi muutu) **Ennen:**\\ {{paketit:shockwave-ca-before.png|Ennen}}\\ **Jälkeen:**\\ {{paketit:shockwave-ca-after.png|Jälkeen}} Tämän jälkeen paketti jo toimii asentaen Shockwave Playerin, mutta vielä ei kannata pidättää hengitystä. ===== Toinen korjaus: ActiveX SelfReg ===== Tässä MSI-paketissa on ilmeisesti yritetty tehdä kaikki mahdollisimman väärin. Ikään kuin pöllöily ympäristömuuttujien ja Custom Actioneiden kanssa ei riittäisi, niin Local system:inä asentaminen aiheuttaa myös toisen ongelman; Windows Installer ei pysty määrittelemään Shell Folder:ia. Alla pätkät asennuslokia. ^ Asentaja ^ Lokimerkintä ^ | Administrator | MSI (s) (0C:C0) [15:12:07:552]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Application Data | | Local System | MSI (s) (0C:20) [15:26:53:256]: Note: 1: 2103 2: 26\\ DEBUG: Error 2103: Could not resolve path for shell folder 26.\\ MSI (s) (0C:20) [15:26:53:256]: Product: Macromedia Shockwave Player -- Internal Error 2103. 26\\ \\ Internal Error 2103. 26| Tästä aiheutuen paketissa määritelty tiedoston ''%systemroot%\System32\macromed\Director\SwDir.dll'' "Self Registration" ei koskaan tapahdu ja siten IE yrittää aina Shockwave-sivua avattessa päivittää Shockwaven ActiveX-komponenttia. Oikeastihan SelfReg:iä ei pitäisi käyttää lainkaan MSI-paketeissa, vaan tehdä tämäkin asia oikein, mutta jos en vielä ole muistanut mainita, niin tämä MSI-paketti ei taatusti tavoittelisi MiSsI-kisoissa edes toisen perintöprinsessan titteliä jos näin ruma ilmestys ylipäänsä pääsisi mukaan. Tämä ongelma ratkeaa (ainakin Assigned-asennusten osalta) pakottamalla asennus tehtäväksi aina Per-Machine -asennuksena eli lisäämällä vaikkapa Orcalla paketin Property-tauluun yksi lisärivi: ^ Property ^ Value ^ | ALLUSERS | 1 | Tämän muutoksen jälkeen saammekin jo toimivan Shockwaven asentumaan koneelle, mutta vielä on vähän puuhastelua jäljellä. ===== Kolmas korjaus: pikkusäätöjä ===== Lisäksi lienee viisasta säätää MSI-paketin Registry-taulusta seuraavat suhteellisen itsestäänselvät rivit alla kuvatuiksi (muutokset **paksunnettu**): ^ Registry ^ Root ^ Key ^ Name ^ Value ^ Component_ ^ | registry20.D2B850BA_F2C1_4725_9C56_9CBBCE6875CF | 2 | SOFTWARE\Macromedia\Shockwave 10\AutoUpdate | | **n** | registry10.D2B850BA_F2C1_4725_9C56_9CBBCE6875CF | | registry21.D2B850BA_F2C1_4725_9C56_9CBBCE6875CF | 2 | SOFTWARE\Macromedia\Shockwave 10\CollectStatistics | | **n** | registry10.D2B850BA_F2C1_4725_9C56_9CBBCE6875CF | Taatusti paketissa on vielä jotain jekkua, mutta se varmaan selviää aikanaan... ===== Firefox:in plugin ===== Firefoxia varten tarvitset plugin-tiedoston ''np32dsw.dll''. Tiedosto pitää kopioida Firefox:in ''plugins''-hakemistoon. Kätevintä on melkeinpä tehdä tästä yhdestä tiedostosta oma MSI-pakettinsa. Flash:ista poiketen pelkkä plugin-tiedosto ei riitä, vaan myös itse Shockwave Player pitää olla asennettuna. ===== Muita huomioita ===== Kun käyttäjä päätyy jollekin Shockwave-sivulle, niin Shockwave Player luo rekisterihaaraan ''HKCU\Software\Macromedia\Shockwave 10\'' läjän asetuksia. Pohjana on kopio rekisterihaaran ''HKLM\SOFTWARE\Macromedia\Shockwave 10\'' sisällöstä, joten esimerkiksi yllä tehdyt MSI-paketin rekisterimuutokset (AutoUpdate) ovat samoja ''HKCU'':n alla. ----- Kirjoittanut: Mikko Järvinen, Turun yliopisto