====== Systat SigmaPlot 11 ====== Systat SigmaPlot 11 on valmiiksi MSI-paketti kuten oli myös sitä edeltänyt versionumero 10. ==== Lisenssi ==== Verkkoasennukseen tarvitaan "Serial Number". Tämä löytyy toimitetun median (CD) kotelosta. Varsinainen lisenssi oli tässä tapauksessa sijoituttu lisenssipalvelimelle. Asennuspakettiin on lisättävä ympäristömuuttuja (LSHOST), että asennus löytää lisenssipalvelimen verkosta. ===== Paketin muokkaaminen ===== 1. Tee kopio tiedostosta "SPWInstall.msi" 2. Avaa luomasi tiedosto Orcalla. 3. Muuta Property-taulun SSI_SERIALNUMBER arvoksi CD-kotelosta löytyvä numero. 4. Lisää Property-tauluun rivi Add row-komennolla. ^ Property ^ Value | | LICENSESERVER | [lisenssipalvelimen dns-nimi tai ip-osoite] | 5. Lisää Environment-tauluun rivi Add row-komennolla. ^ Environment ^ Name ^ Value ^ Component | | [tunniste] | =-*LSHOST | [LICENSESERVER] | Spw.exe | Name-solussa LSHOST-ympäristömuuttujan eteen tulevat Prefixit tarkoittavat seuraavaa: =- Ympäristömuuttuja asetetaan asennuksen yhteydessä ja poistetaan uninstallin yhteydessä. * Ympäristömuuttujasta tulee system-ympäristömuuttuja. Linkitettävä Component voi olla muukin kuin Spw.exe, kuitenkin joku sellainen, joka asentuu aina kun ohjelma asennetaan. 6. Poista ShortCut-taulusta toinen rivi (Spw.exe4, työpöydän pikakuvake) 7. Tallenna paketti (esim. SPWInstall_modified.msi) 8. Luo Transform file msitran-ohjelmalla. msitran -g SPWInstall.msi SPWInstall_modified.msi transform.mst **HUOM** Ympäristömuuttuja häviää uninstallin jälkeen vasta kun kone on seuraavan kerran bootattu. ==== InstallExecuteSequence-korjaus ==== Valmiin paketin testauksessa ilmeni ongelma poistettaessa ohjelmaa koneelta. Poiston aikana tulee Internal error 2762, joka viittaa Windows Installerin erroriin "Cannot write script record. Transaction not started." Microsoftin MSDN:ssa on neuvottu, että ongelma johtuu MSI-paketin InstallExecuteSequence-taulun määrittelyistä. Siellä käsketään myös tarkastelemaan ICE77:aa (Internal Consistency Evaluator). Toimintojen, jotka muuttavat systeemiä täytyy olla InstallInitialize ja InstallFinalize actioneiden välissä. Tämä tarkoittaa tässä tapauksessa seuraavaa. 1. Orcassa ajetaan validointi (Tools --> Validate) 2. Haetaan kohta ICE77 3. Kuvauksesta selviää, että WiseDllUnreg1-niminen custom action pitäisi siirtää InstallExecuteSequence-taulussa InstallInitialize- ja InstallFinalize-actioneiden väliin. 4. Vaihdetaan WiseDllUnreg1-actionin Sequence-arvo arvosta 2354 arvoon 2356