Haladóprogramozás (C#) 2007 2008, I. félév BMF NIK.NET alkalmazások telepítése A.NET alkalmazások telepítési lehetőségei Xcopy, Web, MSI, ClickOnce Telepítési megoldások összehasonlítása Windows Installer (MSI) telepítőkészletek létrehozása MSI telepítőkészlet létrehozásának lépései ClickOnce telepítés Publikálás, telepítés és frissítés Biztonsági megfontolások miklos.arpad@nik.bmf.hu Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges, de nem elégséges feltétele a sikeres zárthelyinek, illetve vizsgának. Sikeres zárthelyihez, illetve vizsgához a jelen bemutató tartalmán felül a kötelező irodalomként megjelölt anyag, a gyakorlatokon szóban, illetve a táblán átadott tudnivalók ismerete, valamint a gyakorlatokon megoldott példák és az otthoni feldolgozás céljából kiadott feladatok önálló megoldásának képessége is szükséges. 2 A.NET alkalmazások telepítése A telepítés az elkészült alkalmazások felhasználói rendszerekre történő kihelyezését és működőképes állapotba hozását jelenti A.NET keretrendszer elemei az operációs rendszertől független konfigurációs megoldást használnak Ez azt jelenti, hogy a keretrendszerre épülőprogramok telepítése (ha eltekintünk bizonyos platformspecifikus szolgáltatásoktól) egyszerű fájlmásolással is lehetséges. Ezt a módszert szokás Xcopy stílusú telepítésnek nevezni. A keretrendszer a program számára létrehozott mappában (és annak megfelelően elnevezett almappáiban) automatikusan megtalálja és onnan betölti a szerelvények megfelelő verzióit. Ahhoz, hogy a.net alkalmazások működjenek, természetesen szükség van a.net keretrendszerre a felhasználói rendszereken is, telepítéséről tehát szükség esetén előzetesen gondoskodni kell. A Visual Studio segítségével létrehozott telepítők használata esetén lehetőség van ennek automatizálására is. 3 1
Telepítési lehetőségek Xcopy Telepítés a fájlok egyszerű átmásolásával. Web Telepítés a fájlok másolásával (feltöltésével) vagy a Copy Web funkcióval. Ez utóbbi segédeszköz gondoskodik az utólagos módosítások szinkronizálásáról, ami különösen több webfejlesztő közös munkája esetén hasznos. Windows Installer (MSI) Szabványos MSI (Microsoft Installer) alapútelepítőkészlet létrehozása, amely lehetővéteszi az operációs rendszer speciális funkcióinak kiaknázását (parancsikonok, rendszerleíróadatbázis, kiterjesztések társítása), valamint saját kényelmi szolgáltatásokat is nyújt (függőségek kezelése és automatikus telepítése, eltávolítási és javítási lehetőség, illetve grafikus felületű, tömörített telepítőprogram létrehozása beállításokkal). ClickOnce Alkalmazások futtatása szerverről szokványos telepítés nélkül, digitális aláírással, automatikus önfrissítéssel, az asztali és a webalkalmazások előnyeit egyesítve. 4 Telepítési megoldások összehasonlítása Telepítési lehetőségek Telepítés helye Telepítés több/minden felhasználó számára Megosztott fájlok telepítése Meghajtóprogramok telepítése Telepítés a GAC-be Automatikus indítás Hozzáadás a Kedvencekhez Fájltípusok létrehozása (ktierjesztések társítása) Rendszerleíróadatbázis (registry) módosítása Egyes telepített fájlok utólagos módosítása Szerelvények igény szerinti letöltése és telepítése Xcopy Tetszőleges (bonyolult) (bonyolult) Windows Installer [ProgramFiles] ClickOnce Saját gyorsítótár 5 MSI telepítőkészlet létrehozásának lépései 1. Telepítőprojekt létrehozása File menü New Project Other Project Types Setup and Deployment, Setup Project/Setup Wizard 2. Fájlok hozzáadása a telepítőkészlethez View menü Editor File System 3. Egyéb beállítások megadása View menü Editor Registry: rendszerleíró adatbázis View menü Editor File Types: fájltípusok létrehozása, társítások View menü Editor User Interface: telepítőkészlet felhasználói felülete View menü Editor Custom Actions: egyéni (külső) parancsok View menü Editor Launch Conditions: egyéni telepítési feltételek 4. Előfeltételek megadása Project menü Properties Prerequisites 5. Telepítőkészlet létrehozása Build menü Build Solution 6 2
Feladat (1) Készítsünk MSI telepítőkészletet egy egyszerű.net alapú Windows alkalmazáshoz! A telepítésre csak akkor kerüljön sor, ha a felhasználórendszerén a Windows mappában már létezik egy explorer.exe nevűfájl! A telepítőa felhasználórendszerén automatikusan társítsa alkalmazásunkkal a.bna kiterjesztést, és a telepítés kezdetén jelenítse meg a programmal kapcsolatos legfontosabb információkat tartalmazó readme.rtf fájlt is! Ötletek: A readme.rtf dokumentumot külön készítsük el, majd fájlként adjuk hozzá a telepítőkészlethez, így a felhasználói felület testreszabásakor ki tudjuk választani a telepítendő elemek listájáról Egyes fájlok meglétének vizsgálatát az egyéni telepítési feltételek között adhatjuk meg A mindenkori Windows mappát a [WindowsFolder] változó jelöli A telepítőprojektek alapértelmezésben nem vesznek részt a megoldások fordításában (a Build Solution funkcióval nem fordulnak újra) 7 ClickOnce telepítő létrehozásának lépései 1. A telepítendő alkalmazáshoz tartozó megoldás megnyitása A ClickOnce telepítési lehetőség az egyes alkalmazások jellemzője, ezért nem tartozik hozzá külön projekttípus. 2. Digitális aláírás megadása a telepítéshez A ClickOnce telepítődigitális aláírása kötelező, magának a telepíteni kívánt alkalmazásnak az aláírása ajánlott. 3. Biztonsági beállítások megadása Mivel a telepítés és a futtatás a felhasználógépén történik, ideális esetben beavatkozás nélkül, részletes biztonsági beállításokra lehet szükség. 4. Közzétételi beállítások megadása A közzétételre vonatkozóadatok (szerver helye, program adatai, verziószám, automatikus frissítés beállításai stb.) beállítása és módosítása. 5. Közzététel a megadott szerveren 8 ClickOnce telepítő digitális aláírása A ClickOnce telepítődigitális aláírásának engedélyezése Az aláíráshoz kiválasztott tanúsítvány adatai Tanúsítvány kiválasztása Tanúsítvány részletes adatainak megtekintése Aláírás időbélyegét ellenőrző szerver címe (ha szükséges) Az alkalmazás digitális aláírásának engedélyezése 9 3
ClickOnce telepítés biztonsági beállításai Részletes ClickOnce biztonsági beállítások engedélyezése Az alkalmazás biztonsági modelljének kiválasztása A telepítési zóna meghatározása (Internet Explorer) A program futtatásához szükséges biztonsági engedélyek listája Alapértelmezések visszaállítása A futtatáshoz szükséges engedélyek statikus újraszámítása A kijelölt engedély elemeinek részletes beállítása 10 ClickOnce telepítő létrehozásának lépései A ClickOnce programot az itt megadott szervercímen látja majd a felhasználó Ha a program fizikailag egy másik szerverről érhetőel, ennek a címe adhatómeg itt A programhoz tartozó fájlok kiválasztása A program előfeltételeinek megadása Automatikus frissítési beállítások megadása Egyéb beállítások megadása (nyelv, termékadatok stb.) A program online és offline elérhetőségének beállítása Közzétett verziószám és automatikus növelése A program közzététele (utolsólépésként) 11 Példa ClickOnce alkalmazás futtatására 12 4
Feladat (2) Készítsünk el, majd teszteljünk ClickOnce telepítőt az oktatóáltal megadott program 1.0 változatához! A telepítőa program minden indítása előtt ellenőrizze a program verzióját, és automatikusan frissítse a mindenkori legfrissebb változatra! Ezt követően az oktatóáltal megadott program 2.0 változatával teszteljük az automatikus frissítés helyes működését! Ötletek: Az automatikus frissítési funkció a program közzétett verzióján alapul Ahhoz, hogy a telepítéskor a rendszer semmilyen kérdést ne tegyen fel (tehát valóban click once telepítés történjen), a biztonsági beállításokat konfigurálni kell, és a program nem igényelhet erősebb engedélyeket, mint amelyek a felhasználó gépén a megfelelő zónához tartoznak Minden közzétett verziótugyanazzal a tanúsítvánnyal(magánkulccsal) kell aláírni, ellenkező esetben az automatikus frissítés nem működik. 13 Irodalomjegyzék (alapismeretek) C. Nagel, B. Evjen, J. Glynn, M. Skinner, K. Watson, A. Jones: Professional C# 2005 Kiadó: Wiley Publishing, Inc., 2006 ISBN: 978-0-7645-7534-1 Web: http://www.wiley.com/, http://www.wrox.com/ Nyelv: angol Terjedelem: 1540 oldal Telepítés: 551 555., 570 576. o. Telepítőprojektek készítése: 556 566. o. ClickOnce telepítés: 567 570. o. Microsoft Corp., Visual Studio Developer Center.NET alkalmazások telepítése: http://msdn2.microsoft.com/en-us/library/6hbb4k3e(vs.80).aspx 14 5