Miről lesz szó? Setup Project készítése Szabadi Tamás tobias@inf.elte.hu Setup project készítése egy már meglévő, lefordított programhoz Specifikus Setup project készítése egy általunk készített projecthez ClickOnce 1 2 Windows 95 óta elérhető Tulajdonságok Alkalmazások által használt állományokat egyetlen csomagba gyúrták könnyű szállíthatóság Önjavítás (repair) lehetősége Rollback (Egy adatbázison nyitott tranzakció keretében végzett módosítások visszavonása, és ezen keresztül a módosítások megkezdése előtti állapot visszaállítása.) Output:.msi telepítés indítása (szükséges adminisztrátor jog!) 1. Készítsünk egy setup project alkalmazást egy már elkészített, lefordított programhoz. 3 4 ProductName átírása RemovePreviousVersion := true, segítségünkre lehet későbbi új verzió létrehozásakor (törli az előző verziót) 5 6
Adjuk hozzá a programunk exe-jét az Application Folder -hez (minden exebeli változtatás esetén fordítsuk újra a setup project-et!) Adjuk hozzá a szükséges config, illetve icon file-okat Application Folder property: DefaultLocation alapból: [ProgramFilesFolder] [Manufacturer]\[ProductName] Függőségek automatikus érzékelése (.NET Framework telepítésére nem kerül sor!).net Framework nélkül a Setup project nem telepít semmilyen.net application-t! AlwaysCreate property legyen true (pl shortcut készítéshez) 7 8 Shortcut készítés User s Desktop jobbklikk Create New Shortcut A dialogban válasszuk ki az Application Folderbeli exe-t Az installer ne hozza létre minden release-nél a Shortcut-ot! Condition = FILEEXISTS1<>"Shortcut to RunOnceOnlyCS.exe Transitive property legyen true (minden installnál és reinstallnál értékelje ki a Condition t) Icon kép: Shortcut Icon property jénél adjuk meg 9 10 Shortcut készítés a Start menübe User s Programs menüben a kívánt könyvtárszerkezet létrehozása Az előbbiek szerint egy új shortcut készítése Verzió Verzió megadása a Setup project property jében Update-eljük a ProductCode ot, különben nem fog működni megfelelően a régi verzió eltávolítása, illetve az új telepítése Megjegyzés: NE változtassuk meg manuálisan az UpgradeCode ot, különben telepítés előtt szükséges a régi verzió eltávolítása Unrecoverable build error esetén: regsvr32 ole32.dll 11 12
2. Új Probléma specifikus setup project Új ablak Választható Asztal ikon, Start menü, Quick Launch ikon Előkészületek 1. Készítsük el a projectünket, amihez az installshield-et szeretnénk készíteni. 2. Adjunk hozzá a solution-höz egy új setup projectet 3. Készítsük el az ikonok megfelelő helyre helyezéséért felelős formot, ezt fogjuk felhasználni a setup project során! 13 14 Speciális könyvtárak elérése Speciális könyvtárak: Desktop, My Documents, Start Up, stb ) System.Environment.GetFolderPath( ) segít elérni a speciális könyvtárakat Paramétere: Environment.SpecialFolder (pl Desktop, Programs, ApplicationData) Készítsük el az ikonokat elhelyező programot (shortcut.exe) 15 A kód Desktop ikon // Create shortcut on Desktop if(cbdesktop.checked==true) { File.Move(Application.StartupPath+ "\\Shortcut to Test.lnk", Environment.GetFolderPath( Environment.SpecialFolder.Desktop).Trim( )+ "\\Shortcut to Test.lnk"); } 16 A kód Start menü ikon A kód Quick Launch ikon // Create shortcut in programs menu. if(cbstartmenu.checked==true) { File.Move(Application.StartupPath+"\\Test1.lnk", Environment.GetFolderPath( Environment.SpecialFolder.Programs).Trim( )+ "\\Test.lnk"); } 17 // Create shortcut in Quick Launch Toolbar if(cbquicklaunch.checked==true) { File.Move(Application.StartupPath+ "\\Test2.lnk",Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData)+ "\\Microsoft\\Internet Explorer\\" + "Quick Launch\\Test.lnk"); } 18
Válasszuk ki a Primary output -ot a dialog ablakból A projektünkhöz hozzáadott Setup Project-hez adjuk hozzá a projektünk output-ját 19 20 A csatolt.exe a következőképpen néz ki Elkészült az ikonunk Készítsünk parancsikont a primary outputhoz (jobbklikk) Custom Action beállításai 21 22 A Custom Action ablakban többféle Action-t beállíthatunk. Nekünk most az install -ra lesz szükségünk. Adjunk hozzá egy Custom Action t. Válasszuk ki az Application Folder-t, majd Add File 23 24
Sikerült elhelyezni a Shortcut.exe t az Install Custom Action ben Válasszuk ki az előre megírt Shortcut.exe t, ami az ikonok megfelelő helyre történő berakásáért felelős formot valósítja meg. Állítsuk át a Shortcut.exe InstallerClass property-jét falsera. 25 26 3. The Magic of ClickOnce Példa Smart Client készítése Webről indítható, telepíthető alkalmazások Minden induláskor ellenőrzi, hogy elérhető-e frissítés, és ha igen, telepíti azt. Elkészítése rendkívül könnyű, és fájdalommentes Készítsünk egy új almalmazást Adjunk hozzá egy naptárat 27 28 Publish Lehetőségek: Fordítsuk le a Smart Client windows alkalmazásunkat! (Build / Build SmartClient) Tegyük közzé az alkalmazásunkat (Build / Publish SmartClient) Merevlemez Megosztott könyvtár FTP szerver Webszerver 29 30
A példánkban használjunk webszervert 31 Beállíthatjuk, hogy a felhasználó offline is használhassa-e az alkalmazásunkat. 32 Meg kell jelölnünk az alkalmazásunkat (azonosításhoz)! Új kulcs készítése Kódolt kulcs készítése Key Provider használata Kész a publikálásra a programunk! Finish után bejön a weboldal, ahol telepíthetjük az alkalmazásunkat 33 34 A fenti oldalon telepíthetjük az alkalmazásunkat. Biztonsági figyelmeztetés Biztosan telepítjük az alkalmazást? 35 36
A clickonce erőssége Sikeresen feltelepült az alkalmazásunk Bekerült a Start menübe Az alkalmazások frissítése Módosítsuk az alkalmazásunkat egy TimePicker controllal 37 38 Módosítás után hajtsuk végre újra a publikálási lépéseket Következő indításnál a felhasználót értesíti a program a frissítések elérhetőségéről! A felhasználónak ezután is lehetősége van visszaállítani az előző verziót (Control Panel - Add/Remove programs) 39 40 VÉGE! Felhasznált oldalak: http://www.codeproject.com http://msdn2.microsoft.com http://google.com 41