× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Jednoduchý instalátor ve Visual Studiu 2008 - 1. díl

[ http://programujte.com/profil/9617-jakub-kottnauer/ ]Google [ https://plus.google.com/+JakubKottnauer?rel=author ]       [ http://programujte.com/profil/118-zdenek-lehocky/ ]Google [ ?rel=author ]       19. 1. 2008       36 964×

Povíme si, jak pomocí VS 2008 snadno a rychle vytvořit instalátor. V prvním dílu článku si vyrobíme instalátor „jenom aby fungoval“, bez nějakých zvláštních úprav.

Vítejte u prvního dílu dvoudílného miniseriálu o tvorbě Windows instalátoru pomocí Visual Studia 2008 Professional Edition.

Když vyvíjíte aplikaci, kterou chcete šířit i pro „neodbornou“ veřejnost, potřebujete co nejjednodušší, zautomatizovaný postup. Předem vás musím varovat, že Visual Studio poskytuje téměř minimum možností, jak instalátor změnit, ale hádám, že pro normální využití bez problémů stačí.

Visual Studio umožňuje jednoduché vytvoření instalátoru díky nativní podpoře Microsoft Windows Installer (dál už jen MSI). Takovýhle instalátor umožňuje zkopírování určitých souborů, vytvoření zástupců, zápis do registrů a některé další věci. Zároveň toho nemá moc společného s .NET frameworkem, ale Visual Studio ho podporuje, takže jsem článek zařadil do téhle sekce.

Co to je MSI?

  • Podporuje „systémem udržovanou databázi instalací“, díky které je možné aplikace odinstalovat bez narušení ostatních programů.
  • Podporuje opravení chybných částí programů. Uživatel může obnovit funkčnost programu pomocí volby Opravit v nabídce po kliknutí pravým tlačítkem na setup.exe.
  • Umí vrátit instalaci zpět i v polovině jejího přerušení (ať už kvůli pádu instalace nebo proto, že uživatel klikl na Cancel) a vrátit počítač do stavu, ve kterém byl před pokusem o instalaci
  • MSI soubory mají vždy příponu .msi, která je registrována pro Windows Installer service (obvykle C:WindowsSystem32msiexec.exe).
  • I když MSI instalace vypadá jako jakýkoliv jiný instalační program, MSI instalace neobsahuje samostatný .exe soubor, ve kterém by byly funkčnost a vzhled napsány. Místo toho závisí na instalační službě integrované do Windows (→ bez přítomnosti MSI nejde instalace spustit). Tato služba poskytuje několik předdefinovaných dialogů a konfigurací.

Jak už jsem napsal na začátku, MSI projekty nemají skoro nic společného s .NET projekty. Nejsou napsané v žádném z .NET jazyků, ani nevyužívají CLR. Přesto nám Visual Studio pomůže vytvořit instalátor bez zbytečných starostí o „propojení“ programu s instalací. Místo psaní skriptů tak jenom nastavíte vzhled a funkčnost oken.

V tomto článku si uděláme instalátor pro WinFormovský HelloProgramujteWorld, který po stisknutí jednoho tlačítka vypíše text do Labelu, po stisknutí druhého tlačítka obsah Labelu vymaže:

Zdrojový kód (jenom pro představu):

using System;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace HelloWorld
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text="Ahoj programujte!";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if(label1.Text=="") MessageBox.Show("Není co mazat:-)");
            else
            label1.Text="";
        }        
    }
}

Začneme tím, že zapneme Visual Studio a otevřeme projekt, pro který chceme vytvořit instalátor. V Solution Exploreru (defaultně to okno vpravo) klikneme pravým tlačítkem na Solution 'Nazev' (X project), viz obrázek:

a zvolíme Add → New Project. V okně, které se nám objeví, rozklikneme Other Project Types a zvolíme Setup and Deployment. Vpravo, v okně Templates, klikneme na Setup Project a dáme projektu jméno.

Musíme změnit chování našeho řešení, protože vždy, když spustíme program z IDE, jak náš hlavní program HelloWorld, tak i instalátor se znovu sestaví. Ale sestavení instalátoru může na starších konfiguracích trvat i několik minut, takže s tím musíme něco udělat.

Pro změnu tohoto chování klikneme pravým tlačítkem myši na Solution Item (v našem případě ProgramujteInstalace, viz obrázek) v okně Solution Explorer a zvolíme Properties. V novém okně klikneme na Configuration Manager… a u našeho instalátoru odškrtneme položku Build. Odteď nebude instalátor sestaven automaticky, ale musíme to udělat ručně – v Solution Exploreru na něj klikneme pravým tlačítkem a zvolíme Build.

Při vytváření instalátoru poskytuje Visual Studio několik funkcí na úpravu vzhledu a funkčnosti instalátoru (anglicky designers). Takovýchto designerů je šest a dostaneme se k nim přes kliknutí pravým tlačítkem na projekt instalátoru v Solution Exploreru a v nabídce rozbalíme View. Teď si stručně popíšeme všech šest:

  • File System – umožňuje nastavit, kam budou soubory zkopírovány. Můžeme zvolit přednastavený cíl, nebo některý z „rozpoznaných“ adresářů.
  • Registry – díky této volbě můžeme nastavit zápis do registrů cílového počítače.
  • File Types – umožňuje zaregistrovat nějakou příponu našemu programu, takže se při kliknutí na soubor s naší předponou otevře v našem program. Tohle chování se dá nastavit i přes Registry, ale přes File Types je to mnohem pohodlnější.
  • User Interface – můžeme upravit základní šablonu instalátoru nebo přidat vlastní vzhled jednotlivých dialogů.
  • Custom Actions – umožňuje provázat instalaci s nějakým programem (například otevření výchozího prohlížeče s webem našeho programu po po dokončení instalace).
  • Launch Conditions – tady nastavíme podmínky pro samotné spuštění instalace (zavřená okna prohlížeče, přítomnost .NET Frameworku, ten a ten operační systém,…).

Ve vlastnostech projektu vaší aplikace můžete nastavit i hodnoty, jako jsou autor programu, vydavatel, název produktu, verze,… Většina těchto nastavení jsou používána v oknech instalace nebo jiných dialozích, jako třeba informace v Přidat/Odebrat Programy.

Tvoříme instalátor

Prvním krokem je zvolení souborů, které chcete kopírovat (instalovat), použijeme k tomu File System designer. Můžete nastavit, zda se mají soubory zkopírovat do systémového adresáře jako System32 nebo Fonts, nebo klidně do Dokumentů. Celý seznam podporovaných možností je na obrázku:

Okno File System designeru je rozděleno do dvou částí: seznam složek (vlevo) a napravo seznam souborů v právě zvolené složce. Další adresář, kam bude aplikace nainstalována, můžete přidat kliknutím pravého tlačítka do levé části a zvolením Add Special Folder. Zdůrazním hlavně Program Files jako nejčastější určení instalace. Ale aby se nám třeba v Program File vůbec něco objevilo, musíme nastavit Output (výstup). To uděláme tak, že klikneme na Program Files (ideálně uděláme ještě podsložku), zvolíme Add → Project Output. V okně, které se objeví, dáme Primary Output. To zajistí, že se v Program Files objeví naše .exe.

Podpůrné soubory

Soubory „navíc“, které váš program využije (jako třeba obrázky, video soubory, manuály, atd.), můžete přidat manuálně. Klikněte pravým tlačítkem do pravého okna a zvolte Add, pro přidání složky pak Folder, pro přidání souboru File, atd. Soubory, které takto navolíte, potom budou zkopírovány do určeného adresáře.

Typ výstupu

Důležité nastavení je nastavení výstupu – jestli bude výchozí instalátor finální verze, nebo jenom testovací. Toto nastavíme kliknutím pravého tlačítka na projekt s programem, pro který setup vytváříme (v našem případě je to HelloWorld) v Solution Exploreru, a až dole najdeme Properties. Překlepneme na záložku Build a v políčku Configuration můžeme přepínat mezi Release, když už chceme instalátor vypustit mezi lidi, resp. Debug, když chceme ještě testovat.

Zástupci

Dalším krokem bude nastavení, kam se mají vytvořit zástupci (shortcuts). Typickým umístěním, které najdeme u většiny programů, jsou plocha a Start menu, ale samozřejmě jdou nastavit i další umístění. Pro vytvoření zástupce na plochu budeme postupovat takto:

V levé části okna (pořád se nacházíme ve File System designeru) klikneme pravým tlačítkem na User’s Desktop a zvolíme Create Shortcut to User’s Desktop. V pravé části se objeví nová položka typu Shortcut, neboli zástupce. Když na něj klikneme, v okýnku Properties můžeme nastavit další vlastnosti jako ikonku, popis atd.


Tak a teď bychom měli mít funkční primitivní instalátor. Po zkompilování a následné instalaci se nám skutečně na ploše vytvoří ikonka, jak jsme si nastavili, a přes ni můžeme program spustit.

V další části už instalátor doděláme, těšte se na úpravy dialogů instalace. Přidáme si svoje ReadMe a požadavek na zadání sériového čísla.

Zdroj: http://www.devarticles.com/c/a/C-Sharp/Creating-a-.NET-Windows-Installer--Part-1/

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2008011500-jednoduchy-instalator-ve-visual-studiu-2008-1-dil/ ].