Tämä näyttää erot valitun ja nykyisen version kesken tästä sivusta.
Both sides previous revision Edellinen revisio Seuraava revisio | Edellinen revisio | ||
ohjeet:windowsinstaller [2010/12/23 11:47] matronka |
ohjeet:windowsinstaller [2018/05/03 14: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 489: | Rivi 265: | ||
* Condition-kenttä voi jäädä tyhjäksi | * 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/aa368585.aspx|Feature]]-tauluun seuraavat tiedot: | ||
+ | * Feature-kenttään haluamasi nimi (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: | - 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) | * Feature_-kenttään haluamasi nimi (esim. Settings) | ||
* Component_-kenttään edellisessä kohdassa nimeämäsi Component (esim. Settings) | * Component_-kenttään edellisessä kohdassa nimeämäsi Component (esim. Settings) | ||
- | - Lisää [[http://msdn.microsoft.com/en-us/library/aa368596%28VS.85%29.aspx|File]]-tauluun pakettiin lisättävät tiedostot: | + | - 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) | * 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) | * Component-kenttään kohdassa 3) valittu nimi (esim. Settings) | ||
Rivi 507: | Rivi 290: | ||
* VolumeLabel-kentän voi jättää tyhjäksi | * 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) | * 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/ |