Sisällysluettelo
Shockwave Player
Shockwave Player 11
Uusin testattu versio on 11.6.6.636.
MSI-paketin muokkaus
Nouda MSI-paketti 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,
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:
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