Käyttäjän työkalut

Sivuston työkalut


ohjeet:windowsinstaller

Erot

Tämä näyttää erot valitun ja nykyisen version kesken tästä sivusta.

Linkki vertailunäkymään

Both sides previous revisionEdellinen revisio
Seuraava revisio
Edellinen revisio
ohjeet:windowsinstaller [2010/12/23 11:12] matronkaohjeet:windowsinstaller [2018/05/03 17:14] (nykyinen) mikko
Rivi 1: Rivi 1:
 ====== Windows Installer ====== ====== Windows Installer ======
- 
- 
  
 Windows Installer on Windowsin palvelu (service), joka huolehtii ohjelmien Windows Installer on Windowsin palvelu (service), joka huolehtii ohjelmien
- 
 asentamisesta eli tiedostojen kopioinnista, rekisteriasetusten ja asentamisesta eli tiedostojen kopioinnista, rekisteriasetusten ja
- 
 pikakuvakkeiden luomisesta, ohjelmien poistamisesta, korjaamisesta, pikakuvakkeiden luomisesta, ohjelmien poistamisesta, korjaamisesta,
- 
 asennuksen tai poistamisen peruuntumisesta (rollback) ja ylipäänsä asennuksen tai poistamisen peruuntumisesta (rollback) ja ylipäänsä
- 
 kaikesta mahdollisesta mikä liittyy ohjelma-asennuksiin. Windows kaikesta mahdollisesta mikä liittyy ohjelma-asennuksiin. Windows
- 
 Installerin tarkoituksena on huolehtia, että tiedostot ja rekisteri Installerin tarkoituksena on huolehtia, että tiedostot ja rekisteri
- 
 pysyvät hyvässä ojennuksessa, mitään jo koneella olevaa ei vahingossa pysyvät hyvässä ojennuksessa, mitään jo koneella olevaa ei vahingossa
- 
 korvaudu asennuksessa eikä vastaavasti ohjelmaa poistettaessa mitään korvaudu asennuksessa eikä vastaavasti ohjelmaa poistettaessa mitään
- 
 sellaista poisteta, mitä ei kuulukaan poistaa. sellaista poisteta, mitä ei kuulukaan poistaa.
- 
- 
  
 {{ohjeet:wininst-services.png|Windows Services}} {{ohjeet:wininst-services.png|Windows Services}}
- 
- 
  
 Windows Installer -palvelu on normaalisti pysähtyneenä ja se käynnistyy Windows Installer -palvelu on normaalisti pysähtyneenä ja se käynnistyy
- 
 tarvittaessa eli aina silloin kun koneella on jotain ohjelma-asennuksiin tarvittaessa eli aina silloin kun koneella on jotain ohjelma-asennuksiin
- 
 liittyvää meneillään. liittyvää meneillään.
- 
- 
  
 {{ohjeet:wininst-service.png|Windows Installer Service}} {{ohjeet:wininst-service.png|Windows Installer Service}}
- 
- 
  
 ==== Versiot ==== ==== Versiot ====
- 
- 
  
 Windows Installerista on ollut useita eri versioita ja se on saatavana Windows Installerista on ollut useita eri versioita ja se on saatavana
- 
 myös vanhoihin Windowseihin erikseen asennettavana komponenttina. myös vanhoihin Windowseihin erikseen asennettavana komponenttina.
- 
 Windows 2000, XP sekä Windows Server 2000 ja 2003 ovat aina pitäneet Windows 2000, XP sekä Windows Server 2000 ja 2003 ovat aina pitäneet
- 
 sisällään jonkin Windows Installerin version, joten Windows Installer sisällään jonkin Windows Installerin version, joten Windows Installer
- 
 on ollut jo useita vuosia Microsoftin virallinen tapa ohjelmien on ollut jo useita vuosia Microsoftin virallinen tapa ohjelmien
- 
 asentamiseen. Koneella olevan version voi selvittää käynnistämällä asentamiseen. Koneella olevan version voi selvittää käynnistämällä
- 
 Windows Installerin komennolla msiexec. Windows Installerin komennolla msiexec.
- 
- 
  
 ^ Versio  ^ Tuetut käyttöjärjestelmät        ^ ^ Versio  ^ Tuetut käyttöjärjestelmät        ^
- 
 | 1.0   | Windows NT, 95, 98, 2000  | | 1.0   | Windows NT, 95, 98, 2000  |
- 
 | 1.1   | Windows NT, 95, 98, 2000  | | 1.1   | Windows NT, 95, 98, 2000  |
- 
 | 1.11  | Windows Server 2000  | | 1.11  | Windows Server 2000  |
- 
 | 1.2   | Windows NT, Me, 95, 98, 2000, 2000 Server  | | 1.2   | Windows NT, Me, 95, 98, 2000, 2000 Server  |
- 
 | 2.0   | Windows NT, Me, 95, 98, 2000, XP, 2000 Server  | | 2.0   | Windows NT, Me, 95, 98, 2000, XP, 2000 Server  |
- 
 | 3.0   | Windows 2000, XP, 2000 Server, Server 2003  | | 3.0   | Windows 2000, XP, 2000 Server, Server 2003  |
- 
 | 3.1   | Windows 2000, XP, 2000 Server, Server 2003  | | 3.1   | Windows 2000, XP, 2000 Server, Server 2003  |
- 
 | 4.0   | Windows Vista, Server 2008  | | 4.0   | Windows Vista, Server 2008  |
 +| 5.0   | Windows 7, Server 2008 R2  |
  
  
 Jos tarkemmat versionumerot jostain syystä kiinnostavat, niin Jos tarkemmat versionumerot jostain syystä kiinnostavat, niin
- 
 ne löytyvät  ne löytyvät 
- 
 [[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/released_versions_of_windows_installer.asp|MSDN:n sivulta]]. [[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/released_versions_of_windows_installer.asp|MSDN:n sivulta]].
- 
- 
  
 ===== Windows Installer komentoriviltä ===== ===== Windows Installer komentoriviltä =====
- 
- 
  
 Windows Installeria käytetään komentoriviltä kutsumalla Windows Installeria käytetään komentoriviltä kutsumalla
- 
 ohjelmaa ''msiexec.exe''. Vanhat versiot antoivat virheilmoituksen, ohjelmaa ''msiexec.exe''. Vanhat versiot antoivat virheilmoituksen,
- 
 uudemmat avaavat ohjeikkunan, jossa kerrotaan ''msiexec'':in uudemmat avaavat ohjeikkunan, jossa kerrotaan ''msiexec'':in
- +ymmärtämät komentorivioptiot.
-ymmärtämät komentoriviparametrit. +
- +
  
 {{ohjeet:wininst-3.1-window.png}} {{ohjeet:wininst-3.1-window.png}}
  
 +Msiexec.exe:n komentorivioptiot löytyvät myös esimerkiksi [[http://support.microsoft.com/kb/314881|Microsoftin KB314881-artikkelissa.]]
  
 ===== MSI-paketit ===== ===== MSI-paketit =====
- 
- 
  
 Windows Installer ei ole kaikkiruokainen asennettavien ohjelmien suhteen. Windows Installer ei ole kaikkiruokainen asennettavien ohjelmien suhteen.
- 
 Itse asiassa se noudattaa hyvin tarkkaa dieettiä ja suostuu nielemään Itse asiassa se noudattaa hyvin tarkkaa dieettiä ja suostuu nielemään
- 
 vain ja ainoastaan Windows Installerin omia asennuspaketteja, MSI-paketteja vain ja ainoastaan Windows Installerin omia asennuspaketteja, MSI-paketteja
- 
 (''.msi'') tai Patch:eja (''.msp''), lisukkeiksi kelpaavat Windows Installer (''.msi'') tai Patch:eja (''.msp''), lisukkeiksi kelpaavat Windows Installer
- 
 Transform:it (''.mst''). Transform:it (''.mst'').
- 
- 
  
 ==== MSI-paketin rakenne ==== ==== MSI-paketin rakenne ====
- 
- 
  
 MSI-paketti koostuu erillisistä streameista, kuten "Summary information" MSI-paketti koostuu erillisistä streameista, kuten "Summary information"
- 
 ja "Database". Database on rakenteeltaan relaatiotietokanta, jossa on ja "Database". Database on rakenteeltaan relaatiotietokanta, jossa on
- 
 kuvattu koneen toivottu tila asennuksen jälkeen. MSI-paketti ei siis ole kuvattu koneen toivottu tila asennuksen jälkeen. MSI-paketti ei siis ole
- 
 "perinteinen" proseduraalinen asennusohjelma tai skriptattu asennus, vaan "perinteinen" proseduraalinen asennusohjelma tai skriptattu asennus, vaan
- 
 deklaratiivinen asennuksen määrittely. Windows Installerin tehtävänä on deklaratiivinen asennuksen määrittely. Windows Installerin tehtävänä on
- 
 tulkita MSI-paketin sisältö ja huolehtia kaikista tarvittavista tulkita MSI-paketin sisältö ja huolehtia kaikista tarvittavista
- 
 toimepiteistä, jotta MSI-paketissa kuvattuun lopputulokseen päädyttäisiin toimepiteistä, jotta MSI-paketissa kuvattuun lopputulokseen päädyttäisiin
- 
 (tai siitä päästäisiin eroon ohjelmaa poistettaessa). (tai siitä päästäisiin eroon ohjelmaa poistettaessa).
- 
 Toimenpiteet pitävät sisällään muun muassa tarvittavien asennus- tai Toimenpiteet pitävät sisällään muun muassa tarvittavien asennus- tai
- 
 poistoskriptien luomisen ja ajamisen, järjestelmän eheydestä huolehtimisen poistoskriptien luomisen ja ajamisen, järjestelmän eheydestä huolehtimisen
- 
 ja vuorovaikutuksen käyttäjän kanssa. ja vuorovaikutuksen käyttäjän kanssa.
- 
- 
  
 MSI-paketin rakennetta voi kuvata seuraavasti. MSI-paketin rakennetta voi kuvata seuraavasti.
- 
- 
  
   * **Package**   * **Package**
- 
     * **Product**     * **Product**
- 
       * **Feature A**       * **Feature A**
- 
         * Component 1         * Component 1
- 
           * ''File 1''           * ''File 1''
- 
         * Component 2         * Component 2
- 
           * ''Registry Setting 1''           * ''Registry Setting 1''
- 
       * **Feature B**       * **Feature B**
- 
         * Component 3         * Component 3
- 
           * ''File 2''           * ''File 2''
- 
- 
  
 Feature on ohjelman erillinen osanen, esimerkiksi MS Officessa Feature on ohjelman erillinen osanen, esimerkiksi MS Officessa
- 
 Word tai Excel. Normaalisti ohjelmia uudelleenpaketoitaessa riittää Word tai Excel. Normaalisti ohjelmia uudelleenpaketoitaessa riittää
- 
 yksi feature. Pienin Windows Installerin "käsittelemä" yksikkö yksi feature. Pienin Windows Installerin "käsittelemä" yksikkö
- 
 ("atomic unit") ja myös MSI-paketin tärkein osanen, on component. ("atomic unit") ja myös MSI-paketin tärkein osanen, on component.
- 
 Component:it pitävät sisällään esimerkiksi tiedostoja tai Component:it pitävät sisällään esimerkiksi tiedostoja tai
- 
 rekisteriasetuksia ja niiden muodostamiseen on varsin tarkat rekisteriasetuksia ja niiden muodostamiseen on varsin tarkat
- 
 [[http://msdn2.microsoft.com/En-US/library/aa370561.aspx|säännöt]] [[http://msdn2.microsoft.com/En-US/library/aa370561.aspx|säännöt]]
- 
 (Component Rules). Component-käsitteen ymmärtäminen on melkeinpä (Component Rules). Component-käsitteen ymmärtäminen on melkeinpä
- 
 tärkein MSI-paketteihin ja Windows Installeriin liittyvä seikka. tärkein MSI-paketteihin ja Windows Installeriin liittyvä seikka.
- 
- 
  
 ==== Transformit, pätsit ja bootstrapperit ==== ==== Transformit, pätsit ja bootstrapperit ====
- 
- 
  
 === Transformit === === Transformit ===
- 
 Windows Installer Transform (''.mst'') on MSI-paketin kaltainen Windows Installer Transform (''.mst'') on MSI-paketin kaltainen
- 
 tiedosto, jossa on määritelty mitä muutoksia alkuperäiseen tiedosto, jossa on määritelty mitä muutoksia alkuperäiseen
- 
 MSI-pakettiin halutaan asennettaessa tehdä. Transformissa MSI-pakettiin halutaan asennettaessa tehdä. Transformissa
- 
 määritellyt muutokset voidaan yhtä hyvin tehdä suoraan määritellyt muutokset voidaan yhtä hyvin tehdä suoraan
- 
 alkuperäiseen MSI-pakettiinkin, mutta useat eri transformit alkuperäiseen MSI-pakettiinkin, mutta useat eri transformit
- 
 mahdollistavat helposti erilaiset asennukset mahdollistavat helposti erilaiset asennukset
- 
   msiexec.exe /i Foo_1.0.0.msi TRANSFORMS=Foo_no-eula.mst   msiexec.exe /i Foo_1.0.0.msi TRANSFORMS=Foo_no-eula.mst
- 
   msiexec.exe /i Foo_1.0.0.msi TRANSFORMS=Foo_no-desktop-shortcut.mst   msiexec.exe /i Foo_1.0.0.msi TRANSFORMS=Foo_no-desktop-shortcut.mst
- 
   msiexec.exe /i Foo_1.0.0.msi TRANSFORMS=Foo_finnish.mst;Foo-no-desktop-shortcut.mst;Foo-no-eula.mst   msiexec.exe /i Foo_1.0.0.msi TRANSFORMS=Foo_finnish.mst;Foo-no-desktop-shortcut.mst;Foo-no-eula.mst
- 
- 
  
 === Pätsit === === Pätsit ===
- 
 Windows Installer Patch (''.msp'') on harvemmin käytetty Windows Installer Patch (''.msp'') on harvemmin käytetty
- 
 ohjelmapäivityksen muoto. Kokonaan uuden MSI-paketin sijaan ohjelmapäivityksen muoto. Kokonaan uuden MSI-paketin sijaan
- 
 voidaan luoda ''.msp''-tiedosto, joka päivittää alkuperäistä voidaan luoda ''.msp''-tiedosto, joka päivittää alkuperäistä
- 
 MSI-pakettia. Patchit asennetaan aina komentoriviltä ja MSI-pakettia. Patchit asennetaan aina komentoriviltä ja
- 
 patchin toimittajan tulisi antaa ohjeet sen käytöstä. patchin toimittajan tulisi antaa ohjeet sen käytöstä.
- 
- 
  
 === Bootstrapperit === === Bootstrapperit ===
- 
 Bootstrapperilla tarkoitetaan erillistä ajettavaa ohjelmaa, Bootstrapperilla tarkoitetaan erillistä ajettavaa ohjelmaa,
- 
 kuten ''setup.exe'', joka toimii ikään kuin välikerroksena kuten ''setup.exe'', joka toimii ikään kuin välikerroksena
- 
 käyttäjän ja Windows Installerin välissä. Bootstrapperissa käyttäjän ja Windows Installerin välissä. Bootstrapperissa
- 
 voidaan tehdä sellaisia toimenpiteitä, mitä ei haluta tai voidaan tehdä sellaisia toimenpiteitä, mitä ei haluta tai
- 
 ei ole järkevää laittaa osaksi MSI-pakettia, kuten ohjelman ei ole järkevää laittaa osaksi MSI-pakettia, kuten ohjelman
- 
 asentamis- tai toimimisedellytyksien tarkastamisen ja asentamis- tai toimimisedellytyksien tarkastamisen ja
- 
 tarvittavien käyttöjärjestelmän lisäosien tai apuohjelmien tarvittavien käyttöjärjestelmän lisäosien tai apuohjelmien
- 
 asentamisen (jotka voivat vallan hyvin olla MSI-paketteja asentamisen (jotka voivat vallan hyvin olla MSI-paketteja
- 
 nekin. Sisäkkäisten (nested) MSI-pakettien ajaminenhan on nekin. Sisäkkäisten (nested) MSI-pakettien ajaminenhan on
- 
 kiellettyä!). kiellettyä!).
- 
- 
  
 Bootstrapperilla voidaan myöskin tarjota käyttäjäystävällinen Bootstrapperilla voidaan myöskin tarjota käyttäjäystävällinen
- 
 liittymä ohjelman asentamiseen, jolloin bootstrapper-ohjelma liittymä ohjelman asentamiseen, jolloin bootstrapper-ohjelma
- 
 ajaa ohjelman asentamiseen tai paikkaamiseen tarvittavan ajaa ohjelman asentamiseen tai paikkaamiseen tarvittavan
- 
 komentorivin. Bootstrapper voisi esimerkiksi ajaa käyttäjän komentorivin. Bootstrapper voisi esimerkiksi ajaa käyttäjän
- 
 puolesta ohjelman asentamiseksi komennon puolesta ohjelman asentamiseksi komennon
- 
   msiexec /i program.msi SERIAL=1234ABCD TRANSFORMS=lang_finnish.mst   msiexec /i program.msi SERIAL=1234ABCD TRANSFORMS=lang_finnish.mst
- 
 tai tai
- 
   msiexec /i program.msi SERIAL=EVALUATION TRANSFORMS=lang_swedish.mst   msiexec /i program.msi SERIAL=EVALUATION TRANSFORMS=lang_swedish.mst
- 
 Saman toiminnallisuuden toteuttaminen ei pelkästään MSI-pakettia Saman toiminnallisuuden toteuttaminen ei pelkästään MSI-pakettia
- 
 hiirellä klikaten onnistu. hiirellä klikaten onnistu.
- 
- 
  
 Jotkin ohjelmistotoimittajat piilottavat MSI-paketin Jotkin ohjelmistotoimittajat piilottavat MSI-paketin
- 
 bootstrapperin sisään, josta se sitten puretaan ohjelmaa bootstrapperin sisään, josta se sitten puretaan ohjelmaa
- 
 asentavalta käyttäjältä "salaa" johonkin väliaikaiseen asentavalta käyttäjältä "salaa" johonkin väliaikaiseen
- 
 paikkaan, kuten ''%temp%''-hakemistoon. paikkaan, kuten ''%temp%''-hakemistoon.
- 
- 
  
 Bootstrapperit ovat ylläpitäjälle sikäli tarpeettomia, Bootstrapperit ovat ylläpitäjälle sikäli tarpeettomia,
- 
 että niillä tehdään juuri se työ, mikä oikeastaan kuuluu että niillä tehdään juuri se työ, mikä oikeastaan kuuluu
- 
 järjestelmän ylläpitäjän tehtäviin. Bootstrapperin järjestelmän ylläpitäjän tehtäviin. Bootstrapperin
- 
 sisältämä logiikan ja toiminnallisuuden kuvaaminen sisältämä logiikan ja toiminnallisuuden kuvaaminen
- 
 pitäisi aina löytyä ohjelman asentamiseen liittyvästä pitäisi aina löytyä ohjelman asentamiseen liittyvästä
- 
 dokumentaatiosta, mutta useimmitenhan tällaista tietoa dokumentaatiosta, mutta useimmitenhan tällaista tietoa
- 
 ei ole kovinkaan helposti saatavilla. ei ole kovinkaan helposti saatavilla.
- 
- 
  
 ===== Windows Installer -pikakuvake ===== ===== Windows Installer -pikakuvake =====
- 
- 
  
 Verrataanpa Notepadin ja Orcan pikakuvakkeita. Verrataanpa Notepadin ja Orcan pikakuvakkeita.
- 
- 
  
 {{ohjeet:shortcut-notepad.png}} {{ohjeet:shortcut-orca.png}} {{ohjeet:shortcut-notepad.png}} {{ohjeet:shortcut-orca.png}}
- 
- 
  
 Huomaamme, että Notepadin kohdalla ''Target:'' osoittaa suoraan levyllä olevaan Huomaamme, että Notepadin kohdalla ''Target:'' osoittaa suoraan levyllä olevaan
- 
 ajettavaan tiedostoon ''notepad.exe'', mutta Orcan kohdalla ''Target:'' ei ole ajettavaan tiedostoon ''notepad.exe'', mutta Orcan kohdalla ''Target:'' ei ole
- 
 mikään tietty tiedosto, vaan asennettu ohjelma, Orca itsessään. Notepadin mikään tietty tiedosto, vaan asennettu ohjelma, Orca itsessään. Notepadin
- 
 pikakuvake on "perinteinen" Windowsin pikakuvake, Orcan pikakuvake taas pikakuvake on "perinteinen" Windowsin pikakuvake, Orcan pikakuvake taas
- 
 Windows Installer -pikakuvake. Kun Notepadin pikakuvakkeesta käynnistyy Windows Installer -pikakuvake. Kun Notepadin pikakuvakkeesta käynnistyy
- 
 ajettava ohjelma suoraan, niin Orcan pikakuvake käynnistääkin Windows ajettava ohjelma suoraan, niin Orcan pikakuvake käynnistääkin Windows
- 
 Installerin, joka ensin vertaa koneella vallitsevaa tilannetta Windows Installerin, joka ensin vertaa koneella vallitsevaa tilannetta Windows
- 
 Installer cachessa olevaan Orcan MSI-pakettiin, tarvittaessa korjaa Installer cachessa olevaan Orcan MSI-pakettiin, tarvittaessa korjaa
- 
 "rikkinäisen" asennuksen ja vasta sitten käynnistää ajettavan ohjelman. "rikkinäisen" asennuksen ja vasta sitten käynnistää ajettavan ohjelman.
- 
- 
  
 Lisäksi Windows Installer -pikakuvakkeet mahdollistavat "installation-on-demand" Lisäksi Windows Installer -pikakuvakkeet mahdollistavat "installation-on-demand"
- 
 ja "advertisement"-asennukset. ja "advertisement"-asennukset.
- 
- 
  
 ==== Advertised, Published ja Assingned -asennukset ==== ==== Advertised, Published ja Assingned -asennukset ====
- 
- 
  
 Windows Installer, Group Policyt sekä muut ohjelmistojen jakelujärjestelmät Windows Installer, Group Policyt sekä muut ohjelmistojen jakelujärjestelmät
- 
 mahdollistavat eri tyyppisiä ohjelmien asennusvaihtoehtoja. mahdollistavat eri tyyppisiä ohjelmien asennusvaihtoehtoja.
- 
- 
  
   * "**Published**"-asennuksessa ohjelma julkistetaan käyttäjien asennettavaksi Add/Remove Programs:in kautta, jolloin user-tason oikeudet riittävät ohjelman asentamiseen.   * "**Published**"-asennuksessa ohjelma julkistetaan käyttäjien asennettavaksi Add/Remove Programs:in kautta, jolloin user-tason oikeudet riittävät ohjelman asentamiseen.
- 
   * "**Advertised**"-asennuksessa käyttäjälle taas luodaan valmiiksi ohjelman pikakuvakkeet, mutta ohjelma asennetaan vasta kun se käynnistetään ensimmäisen kerran.   * "**Advertised**"-asennuksessa käyttäjälle taas luodaan valmiiksi ohjelman pikakuvakkeet, mutta ohjelma asennetaan vasta kun se käynnistetään ensimmäisen kerran.
- 
- 
  
 Sekä "published"- että "advertised"-asennuksissa ohjelma voidaan myös Sekä "published"- että "advertised"-asennuksissa ohjelma voidaan myös
- 
 määritellä asentumaan, kun käyttäjä esimerkiksi tuplaklikkaa tiedostoa, määritellä asentumaan, kun käyttäjä esimerkiksi tuplaklikkaa tiedostoa,
- 
 jonka tiedostopääte on ohjelman asennuspaketissa määritelty avattavaksi jonka tiedostopääte on ohjelman asennuspaketissa määritelty avattavaksi
- 
 kyseisellä ohjelmalla. (**Auto-Install**) kyseisellä ohjelmalla. (**Auto-Install**)
- 
- 
  
   * "**Assigned**"-asennuksessa ohjelma määritellään asentumaan joko tietyille   * "**Assigned**"-asennuksessa ohjelma määritellään asentumaan joko tietyille
- 
     * **koneille**, jolloin ohjelma asentuu bootin aikana ja on kaikkien koneen käyttäjien käytettävissä ilman että jokaisen tarvitsee asentaa ohjelmaa erikseen käyttöönsä tai     * **koneille**, jolloin ohjelma asentuu bootin aikana ja on kaikkien koneen käyttäjien käytettävissä ilman että jokaisen tarvitsee asentaa ohjelmaa erikseen käyttöönsä tai
- 
     * **käyttäjille**, jolloin ohjelma asentuu loginin aikana se on aina käyttäjän käytettävissä kaikilla koneilla     * **käyttäjille**, jolloin ohjelma asentuu loginin aikana se on aina käyttäjän käytettävissä kaikilla koneilla
- 
- 
  
 "**Installation-on-demand**" tarkoittaa ohjelmien asentamattomien osien "**Installation-on-demand**" tarkoittaa ohjelmien asentamattomien osien
- 
 (Feature) lisäämistä ohjelman käytön aikana. (Feature) lisäämistä ohjelman käytön aikana.
- 
- 
  
 ===== Windows Installer cache ===== ===== Windows Installer cache =====
- 
- 
  
 Kun Windows Installer asentaa ohjelman MSI-paketista, se tallettaa Kun Windows Installer asentaa ohjelman MSI-paketista, se tallettaa
- 
 koneen levylle asennuspaketista "tyhjennetyn" (inflated) version, jossa koneen levylle asennuspaketista "tyhjennetyn" (inflated) version, jossa
- 
 on kaikki asennuksen logiikkaan ja eheyteen liittyvä tieto, mutta ei on kaikki asennuksen logiikkaan ja eheyteen liittyvä tieto, mutta ei
- 
 esimerkiksi MSI-paketin sisällä mahdollisesti olleita tiedostoja. esimerkiksi MSI-paketin sisällä mahdollisesti olleita tiedostoja.
- 
- 
  
 Per-Machine -asennuksissa MSI-cache löytyy hakemistosta Per-Machine -asennuksissa MSI-cache löytyy hakemistosta
- 
 ''%systemroot%\Installer''. Cachessa olevien pakettien selailu ''%systemroot%\Installer''. Cachessa olevien pakettien selailu
- 
 Windows Explorerin kanssa tulee havainnollisemmaksi, kun asettaa Windows Explorerin kanssa tulee havainnollisemmaksi, kun asettaa
- 
 ''Author'' ja ''Title'' -sarakkeet näkyville. ''Author'' ja ''Title'' -sarakkeet näkyville.
- 
- 
  
 {{ohjeet:installer-cache.png}} {{ohjeet:installer-cache.png}}
- 
- 
  
 ''"%userprofile%\???\Installer"'' ''"%userprofile%\???\Installer"''
- 
- 
  
 Kuvake- ja mst-tiedostot tallentuvat hakemistoon Kuvake- ja mst-tiedostot tallentuvat hakemistoon
- 
- 
  
 ''"%USERPROFILE%\Application Data\Microsoft\Installer\{ProductCode GUID}"'' ''"%USERPROFILE%\Application Data\Microsoft\Installer\{ProductCode GUID}"''
- 
- 
  
 ==== Install Source ==== ==== Install Source ====
- 
- 
  
 Windows Installer säilyttää Windowsin rekisterissä myös tietoa siitä, Windows Installer säilyttää Windowsin rekisterissä myös tietoa siitä,
- 
 mistä ohjelma on alunperin asennettu eli mistä polusta alkuperäinen mistä ohjelma on alunperin asennettu eli mistä polusta alkuperäinen
- 
 MSI-paketti löytyy. CD- ja muiden siirreltävältä medialta tehtyjen MSI-paketti löytyy. CD- ja muiden siirreltävältä medialta tehtyjen
- 
 asennusten kohdalla install sourcen takaa ei tietenkään löydy yhtään asennusten kohdalla install sourcen takaa ei tietenkään löydy yhtään
- 
 mitään ja jos MSI-paketti on tehty todella huonosti, voi ohjelman mitään ja jos MSI-paketti on tehty todella huonosti, voi ohjelman
- 
 käynnistysyritys johtaa virheilmoitukseen ja ohjelman käyttö estyä. käynnistysyritys johtaa virheilmoitukseen ja ohjelman käyttö estyä.
- 
 (Toki se .exe siellä jossain levyllä toimii). (Toki se .exe siellä jossain levyllä toimii).
- 
- 
  
 Verkossa olevat MSI-paketit suositellaan yleisesti laitettavaksi Verkossa olevat MSI-paketit suositellaan yleisesti laitettavaksi
- 
 DFS-jaon taakse ja MSI-paketteihin viitataan aina ainoastaan DFS-jaon taakse ja MSI-paketteihin viitataan aina ainoastaan
- 
 DFS-jaon kautta. Näin install source säilyy aina samana, vaikka DFS-jaon kautta. Näin install source säilyy aina samana, vaikka
- 
 tiedostoja kopioitaisiinkin levypalvelimelta toiselle ja install tiedostoja kopioitaisiinkin levypalvelimelta toiselle ja install
- 
 source on aina saatavilla. Tai no; ainakin silloin kun verkko toimii. source on aina saatavilla. Tai no; ainakin silloin kun verkko toimii.
- 
  
 ===== Tiedostojen lisääminen MSI-pakettiin ===== ===== Tiedostojen lisääminen MSI-pakettiin =====
Rivi 482: Rivi 258:
   - Avaa msi-tiedosto InstEd:llä, Orcalla tai muulla haluamallasi msi-muokkausohjelmalla.   - Avaa msi-tiedosto InstEd:llä, Orcalla tai muulla haluamallasi msi-muokkausohjelmalla.
   - Luo uusi transform.   - Luo uusi transform.
-  - Lisää Component-tauluun komponentti, johon uudet tiedosto liitetään: +  - Lisää [[http://msdn.microsoft.com/en-us/library/aa368007%28VS.85%29.aspx|Component]]-tauluun komponentti, johon uudet tiedosto liitetään: 
-    * Component-nimeksi haluamsi (esim. Settings) +    * Component-nimeksi haluamasi (esim. Settings) 
-    * Arvo ComponentId +    * ComponentId-kenttään arvo uusi GUID 
-    * Directory_-kohtaan hakemisto, johon uudet tiedostot tulevat asennuksessa (esim. INSTALLDIR) +    * Directory_-kenttään hakemisto, johon uudet tiedostot tulevat asennuksessa (esim. INSTALLDIR) 
-    * Attributes- ja Condition-kohtiin ei tarvitse koskea+    * Attributes-kenttään laita 0x0000 
 +    * Condition-kenttä voi jäädä tyhjäksi
     * KeyPath-kenttään jokin uusi tiedosto (esim. CopyConfig.vbs)     * KeyPath-kenttään jokin uusi tiedosto (esim. CopyConfig.vbs)
-  - Lisää [http://msdn.microsoft.com/en-us/library/aa368579.aspx[Feature Components]]-tauluun tiedot edellisessä kohdassa lisäämästä komponentistasi: +  - Lisää [[http://msdn.microsoft.com/en-us/library/aa368585.aspx|Feature]]-tauluun seuraavat tiedot: 
-    * Feature_-kohtaan haluamasi nimi (esim. Settings) +    * Feature-kenttään haluamasi nimi (esim. Settings) 
-    * Component_-kohtaan edellisessä kohdassa nimeämäsi Component (esim. Settings) +    * Feature_Parent-kenttään jokin alkuperäisen .msi-paketin featureista 
 +    * Title-, Description- ja Display-kentät voi jättää tyhjäksi 
 +    * Level-kenttään arvo 1 
 +    * Directory_-kenttään hakemisto, johon uudet tiedostot tulevat asennuksessa (esim. INSTALLDIR) 
 +    * Attributes-kenttään arvo 0x0000 
 +  - Lisää [[http://msdn.microsoft.com/en-us/library/aa368579.aspx|Feature Components]]-tauluun tiedot edellisessä kohdassa lisäämästä komponentistasi: 
 +    * Feature_-kenttään haluamasi nimi (esim. Settings) 
 +    * Component_-kenttään edellisessä kohdassa nimeämäsi Component (esim. Settings) 
 +  - Lisää [[http://msdn.microsoft.com/en-us/library/aa368596.aspx|File]]-tauluun pakettiin lisättävät tiedostot (tiedostot pitää lisätä aakkosjärjestyksessä): 
 +    * File-kenttään tiedostolle tunniste, joka voi olla sama kuin itse tiedoston nimi (esim. CopyConfig.vbs) 
 +    * Component-kenttään kohdassa 3) valittu nimi (esim. Settings) 
 +    * FileName-kenttään tiedoston asennusnimi sekä pitkässä että lyhyessä muodossa (esim. COPYC~1.VBS|CopyConfig.vbs) 
 +    * FileSize-kenttään tiedoston pituus tavuina (esim. 3011) 
 +    * Version- ja Language-kentät voi jättää tyhjiksi 
 +    * Attributes-kenttään laitetaan arvo 0x4000 
 +    * Sequence-kenttään seuraava vapaa arvo 
 +  - Lisää [[http://msdn.microsoft.com/en-us/library/aa369801%28VS.85%29.aspx|Media-kenttään]] cab-tiedoston tiedot: 
 +    * DiskId-kenttään seuraava vapaana oleva arvo 
 +    * LastSequence-kenttään suurin edellisessä kohdassa lisäämäsi Sequence-arvo 
 +    * DiskPrompt-kentän voi jättää tyhjäksi 
 +    * Cabinet-kenttään tekemäsi cab-tiedoston nimi (esim. settings.CAB) 
 +    * VolumeLabel-kentän voi jättää tyhjäksi 
 +    * Source-kenttään kyseisen cab-tiedoston sijainti. Kyseinen cab-tiedosto kannattaa säilyttää samassa hakemistossa itse msi-tiedoston kanssa, jolloin tähän kenttään voi laittaa pelkästään cab-tiedoston nimen (esim. settings.CAB) 
 +  - Tallenna .mst-tiedosto. 
 + 
 +== Restart Manager == 
 +https://blogs.msdn.microsoft.com/windows_installer_team/2006/12/11/windows-installer-and-restart-manager-msi-files-in-use-v2/
ohjeet/windowsinstaller.1293095532.txt.gz · Viimeksi muutettu: 2014/11/20 15:01 (ulkoinen muokkaus)