Share via


Nasazení instalačního programu v prostředí Visual Studio

Nasazení instalační služby systému Windows vám umožní vytvořit instalační balíčky pro distribuci uživatelům; uživatel spustí instalační soubor a prochází po krocích průvodcem, aby mohl nainstalovat aplikaci. Toto lze provést přidáním projektu nastavení do vašeho řešení. Při sestavení si tento projekt vytvoří instalační soubor, který budete distribuovat uživatelům; uživatel spustí instalační soubor a prochází po krocích průvodcem, aby mohl nainstalovat aplikaci.

Instalační služba systému Microsoft Windows je datově řízená instalace a konfigurační služba, která je dodávána jako součást operačního systému Windows. Instalační služba systému Windows udržuje databázi informací o každé instalované aplikaci, včetně souborů, klíčů registru a komponent. Při odinstalaci aplikace se zkontroluje databáze, aby se zajistilo, že žádná jiná aplikace nespoléhá na soubor, klíč registru nebo komponentu, před jejím odebráním. Tímto se zabrání poškození jedné aplikace, pokud je odstraněna jiná aplikace.

Poznámka

Express edice neobsahují technologii instalační služby systému Windows. Informace o používané technologii nasazení v Express edicích naleznete v tématu ClickOnce zabezpečení a nasazení.

Můžete nasadit a udržovat vaše aplikace pomocí nástrojů pro nasazení v aplikaci Visual Studio s funkcemi poskytovanými Instalační službou systému Windows.

Vytvoření balíčku instalačního programu

Pro nasazení vaší aplikace a jejích nezbytných součástí, byste měli použít balíček instalačního programu. Obvykle mají aplikace závislosti na rozhraní .NET Framework, SQL Server Express nebo dokonce na vlastních EXE nebo DLL souborech. Je však nejisté, zda počítače koncových uživatelů mají konkrétní verzi rozhraní .NET Framework nebo jiné závislosti, které vaše aplikace vyžaduje. Z tohoto důvodu není doporučeno kopírovat vaši aplikace do počítače koncového uživatele.

Umístění instalace

Vaši koncoví uživatelé mohou vaši aplikaci nainstalovat z WWW sítě, disku CD, souboru sdíleného v síti nebo jiným způsobem. Umístění instalace ovlivňuje šablonu projektu, kterou můžete použít. Například chcete-li, aby koncoví uživatelé provedli instalaci ze sítě WWW, můžete použít pro projekt šablonu Instalace z webu. Chcete-li, aby instalace proběhla z disku CD nebo ze sítě, použijte pro projekt šablonu Instalace. Další informace o šablonách projektů nasazení naleznete v tématu Projekty instalace a nasazení.

Soubory a složky

Pro kontrolu kde a jak budou soubory nasazení instalovány, můžete použít Editor systémových souborů. Organizace systému souborů i názvy složek se můžou na různých počítačích lišit. Editor systému souborů používá koncept abstraktních složek, aby se zajistilo, že soubory budou instalovány tam, kde je chcete mít. Další informace naleznete v tématu Správa instalace souborů v nasazení.

Virtuální složky představují systémové složky operačního systému Windows. Například Složka plochy je ekvivalentem systémové složky Plocha. Systém Windows sleduje umístění systémových složek, takže bez ohledu na to, kde je složka umístěna nebo jaký je její název, soubory umístěné ve složce Složka plochy vždy skončí v systémové složce Plocha. Další informace naleznete v tématu Speciální složky a vlastní složky.

Můžete také vytvořit své vlastní složky a umístit je pod libovolnou systémovou složku. Například byste mohli vytvořit složku Data aplikace pod složku Složka aplikace – bez ohledu na to, kde je Složka aplikace umístěna na cílovém počítači, soubory umístěné ve vaší složce Data aplikace budou vždy nainstalovány na stejné relativní místo. Další informace naleznete v tématu Postupy: Přidání a odebrání složek v Editoru systému souborů.

Složky v okně Editor systému souborů mohou obsahovat soubory, výstupy projektu a sestavení. Výstupy projektu představují položky obsažené v jiném projektu v rámci řešení a mohou obsahovat primárně sestavený výstup (například spustitelný soubor), lokalizované prostředky, symbolické ladicí informace, soubory s obsahem (například HTML stránky) a zdrojové soubory projektu. Každý z těchto výstupů je odkazován jako skupina výstupů projektu. Skupina výstupů projektu obsahuje primární výstup (známý také jako klíčový výstup) plus jakékoli další výstupy a závislosti. Další informace naleznete v tématu Postupy: Přidání a odebrání výstupů projektu v Editoru systému souborů a Postupy: Přidání položek do projektu nasazení.

Kromě toho mohou být podmínky umístěny na kterýkoli soubor nebo složku pomocí vlastnosti Condition. To vám umožňuje přizpůsobit si instalaci souborů na základě podmínek, které existují na cílovém počítači během instalace. Například byste si mohli zvolit instalaci jiných souborů podle operačního systému na cílovém počítači. Další informace naleznete v tématu Vlastnost Condition.

Editor systému souborů také podporuje vytváření zástupců a umožňuje vám tak umístit soubory do jediné složky a odkazovat na ně pomocí zástupce na ploše nebo v jiné složce. Další informace naleznete v tématu Postupy: Přidání nebo odebrání zástupců v editoru systému souborů.

Přidružení souboru

Při nasazení aplikace často chcete přidružit typ souboru k této aplikaci. Pokud například vaše aplikace vytváří a používá soubory s příponou .myfile, tak chcete přidružit soubory typu .myfile k vaší aplikaci, aby uživatel mohl dvojklikem na takovýto soubor otevřít vaši aplikaci.

Nástroje pro nasazení v aplikaci Visual Studio zahrnují Editor typů souborů, který vám umožňuje určit typy dokumentů a spojit je s příponami souborů. Kromě toho můžete určit příkazy nebo akce pro každý typ dokumentu a určit typy standardu MIME pro typy dokumentů používaných v prohlížečích. Další informace naleznete v tématu Správa typů souborů během nasazení.

Během instalace jsou nastavení, která zadáte v okně Editor typů souborů, na cílovém počítači aktualizovány.

Registr

Často je nedílnou součástí zavádění aplikace přístup do registru, nastavení hodnot registru nebo tvorba klíčů registru. Nástroje pro nasazení aplikace Visual Studio tyto funkce poskytují.

Editor registru v aplikaci Visual Studio je podobný editoru registru v systému Windows: oba nástroje poskytují hierarchickou reprezentaci registru na cílovém počítači. Jsou znázorněny standardní kořeny registru. Můžete změnit hodnoty existujících klíčů, přidat hodnoty novým klíčům a určit výchozí klíče. Další informace naleznete v tématu Správa nastavení registru při nasazení.

Během instalace jsou klíče a hodnoty specifikované v okně Editor registru zapsány do registru cílového počítače.

Kromě toho můžete umístit podmínky na jakýkoli klíč registru nebo na hodnotu registru pomocí vlastnosti Condition. To vám umožní přizpůsobit registr na základě podmínek, které existují na cílovém počítači během instalace. Například když chcete zadat jinou hodnotu registru v závislosti na verzi operačního systému na cílovém počítači.

Podepsání pomocí technologie Authenticode

Možná budete chtít podepsat aplikaci nebo komponentu, aby uživatelé mohli ověřit, kdo ji publikoval a ověřit si tak, zda je bezpečná. Doporučujeme, abyste podepsali soubory typu Cab a instalační programy, které byly staženy prostřednictvím webového prohlížeče.

Můžete použít nástroje pro nasazení v aplikaci Visual Studio, abyste podepsali instalační program, slučovací modul nebo soubor typu Cab pomocí technologie Authenticode od společnosti Microsoft. Nejprve musíte získat digitální certifikát, abyste mohli podepsat svou aplikaci nebo komponentu.

Chcete-li použít podpis technologie Authenticode, musíte ve vašem projektu nasazení povolit podepsané manifesty technologie ClickOnce. Další informace naleznete v tématu Stránka, Podepsání designer projekt.

Globální mezipaměť sestavení (GAC).

Globální mezipaměť sestavení (GAC) je mezipaměť kódu, poskytovaná rozhraním .NET Framework, která slouží k uložení sestavení, které je třeba sdílet mezi několika aplikacemi. Aby bylo sestavení nainstalováno do globální mezipaměti sestavení (GAC), musí být silně pojmenováno, což poskytuje aplikaci nebo komponentě jedinečnou identitu, kterou mohou jiné aplikace použít k její identifikaci a explicitně na ni odkazovat. Další informace naleznete v tématu Postupy: Podepsání sestavení (Visual Studio).

Chcete-li nainstalovat sestavení do globální mezipaměti sestavení (GAC), přidejte sestavení nebo skupinu výstupů projektu pro toto sestavení do složky Globální mezipaměť sestavení (GAC) v okně Editor systému souborů. Chcete-li otevřít tento editor, přejděte na položku Editor v menu Zobrazit a klepněte na Editor systému souborů.

Složka Globální mezipaměť sestavení je na rozdíl od jiných složek v okně Editor systému souborů. Nemá žádné nastavitelné vlastnosti a nemůžete vytvořit zástupce na složku nebo vytvořit sestavení ve složce.

Vybíráme nezbytné součásti

K úspěšnému zavedení aplikace je také nutné nasadit všechny součásti, na které tato aplikace odkazuje. Například většina aplikací vytvořená v prostředí Visual Studio má závislost na rozhraní .NET Framework. Před instalací aplikace musí být na cílovém počítači k dispozici požadováná verze modulu CLR (Common Language Runtime). Nástroje pro nasazení aplikace Visual Studio vám umožňují nainstalovat rozhraní .NET Framework a další komponenty jako součást vaší instalace. Proces instalace nezbytných komponent je také znám jako samozavádění.

Další informace získáte v tématu Postupy: Předpoklady instalace v nasazení Instalační služby systému Windows

Instalace s oprávněními administrátora

Administrátorská instalace je funkce instalační služby systému Microsoft Windows, která vám umožňuje nainstalovat zdrojovou bitovou kopii aplikace na sdílené místo v síti. Uživatelé v pracovní skupině, kteří mají přístup ke sdílenému místu v síti, pak mohou tuto aplikaci nainstalovat ze zdrojové bitové kopie.

Uživatelského rozhraní editoru umožňuje zadat jinou sadu instalační dialogová okna zobrazená při instalaci aplikace pomocí příkazového řádku pomocí síťové sdílené položce správce /a možnost příkazového řádku (msiexec /aInstallerName). Další informace naleznete v tématu Správa uživatelského rozhraní při nasazení.

Poznámka

Při instalaci aplikace jako administrátor, soubory samozaváděcí aplikace (soubory, které v případě potřeby nainstalují instalační službu systému Windows) nebudou zkopírovány na server i v případě, že vlastnost Bootstrapper je nastavena na hodnotu Windows Installer Bootstrapper. Pokud jsou pro instalaci vyžadovány soubory samozaváděcí aplikace, musíte ručně zkopírovat soubory Instmsia.msi, Instmsiw.msi, Setup.exe a Setup.ini na server. Tyto soubory naleznete ve stejném adresáři, kde je umístěn i soubor .msi vaší aplikace.

Další informace naleznete v dokumentaci k sadě Windows Installer SDK Administrátorská instalace (Instalační služba systému Windows).

Systém Windows a úroveň oprávnění

Technologie Instalační služba systému Windows podporuje instalaci softwaru na operační systémy Windows Vista a Windows 7. Instalační programy pro koncové uživatele, by měli obdržet výzvy pouze pro ty instalace součástí, která vyžadují zvýšení úrovně práv a to i v případě, když počítač běží v rámci nástroje Řízení uživatelských účtů.

Zvýšení úrovně práv aplikace

Obvykle není Setup.exe (označován také jako zaváděcí nástroj) spuštěn se zvýšenou úrovní práv; je spuštěn na úrovni oprávnění aktuálního uživatele. Proto si tato instalace nevyžádá zvýšení úrovně práv při spuštění konečné instalace aplikace. Uvědomte si však, že soubor .msi obvykle uživatele vyzývá, kdežto soubor Setup.exe ne.

V manifestu nástroje Řízení uživatelských účtů, který je vložený v zaváděcím nástroji, uzel requestedExecutionLevel určuje, že je instalace spuštěna na úrovni aktuálního uživatele (asInvoker):

<requestedExecutionLevel level="asInvoker" />

Pokud ale musíte, můžete zvýšit úroveň práv instalace aplikace. Například úprava nastavení Internetové informační služby (IIS) v projektu Webové nastavení, vyžaduje oprávnění správce, stejně jako instalace sestavení do globální mezipaměti sestavení (GAC). Výzva ke zvýšení úrovně oprávnění nastane po nezbytných instalacích, ale před samotnou instalací aplikace.

Chcete-li zvýšit úroveň oprávnění pro instalaci, otevřete soubor projektu s příponou (.vdproj). V sekci MsiBootstrapper tohoto projektového souboru, nastavte vlastnost RequiresElevation na hodnotu True. Tato vlastnost není k dispozici prostřednictvím integrovaného vývojového prostředí Visual Studio (IDE). Proto je třeba použít tento soubor projektu. Další informace naleznete v tématu Vlastnost RequiresElevation.

Zvýšení úrovně práv při asistenci správce

Instalační služba systému Windows podporuje zvýšení úrovně práv za asistence správce na operačních systémech Windows Vista a Windows 7. V tomto scénáři je uživatel vyzván k zadání pověření správce a ten zadá heslo za tohoto uživatele. Pro podporu tohoto scénáře, zaváděcí nastroj nastaví vlastnost AdminUser na hodnotu True v případě, že váš počítač běží na systému Windows Vista nebo novější verzi systému Windows.

Poznámka

Pokud používáte systém Windows Vista na počítači, který nepoužívá nástroj Řízení uživatelských účtů a nejste správcem, vlastnost AdminUser bude i nadále nastavena na hodnotu True. Proto by instalační programy s příponou .exe (například SQLExpress32.exe) měly být napsány tak, aby rozpoznaly příslušná oprávnění a generovaly konkrétní kód ukončení instalace v případě nedostatečného oprávnění. Měli byste oprávnit soubor Setup.exe, aby zachytil tento ukončovací kód a zobrazil zprávu informující o tom, že je vyžadován správce.

Zvýšení úrovně práv nezbytných součástí

Systém Windows Vista a Windows 7 zvyšují úroveň práv instalace nezbytných komponent, když je to nutné. Sám zaváděcí nástroj neprovádí žádné zvýšení úrovně práv; pokud Windows Vista nebo Windows 7 běží pod nástrojem Řízení uživatelských účtů, pak tento nástroj vydává výzvy pro každou nezbytnou komponentu, u které musí být zvýšena úroveň oprávnění, pokud již ovšem není nainstalována. Pokud se nezdaří zvýšení úrovně oprávnění balíčku, zaváděcí nástroj selže a odešle příslušnou chybovou zprávu.

Zvýšení úrovně práv vlastní akce

Vlastní akce, které vytvoříte v nástroji Editor vlastních akcí, jsou spuštěny se zvýšenou úrovní práv. Vlastní akce by neměly přistupovat k datům specifickým pro uživatele, jako je například registr nebo systém souborů, protože vlastní akce se nespustí na volajícím uživatelském účtu.

Ve výchozím nastavení běží vlastní akce již se zvýšenou úrovní oprávnění, protože výchozí hodnota vlastnosti NoImpersonate nástroje Editor vlastních akci, je nastavena na True. Změna vlastnosti NoImpersonate na hodnotu False by donutila vlastní akci, aby zosobnila volajícího uživatele, který by mohl mít snížená oprávnění.

Rozdíly mezi verzemi aplikace Visual Studio

Také si všimněte, že bude rozdíl ve způsobu, jakým instalační projekty v aplikacích Visual Studio 2005 a Visual Studio 2008 poběží pod nástrojem Řízení uživatelských účtů.

Integrovaná detekce instalačních programů v systémech Windows Vista nebo Windows 7, se dotazuje na souhlas, pokud instalujete pod nástrojem Řízení uživatelských účtů. Zaváděcí nástroj (Setup.exe), sestavený aplikací Visual Studio 2005, vždy vyzývá k zadání souhlasu, bez ohledu na to, co instaluje. Protože je Setup.exe a všechny jeho procesy spuštěn v systému Windows Vista a Windows 7 s tokenem správce, instalace konečné aplikace bude nainstalována se zvýšenou úrovní oprávnění. Pokud uživatel spustí soubor Setup.exe se zvýšenou úrovní oprávnění za asistence správce, bude tato aplikace nainstalována pod profil uživatele se zvýšenou úrovní oprávnění (nikoli pod profil správce).

V aplikacích Visual Studio 2008 a Visual Studio 2010, Setup.exe po spuštění nezobrazí výzvu ke zvýšení úrovně oprávnění. Chcete-li zabránit zobrazení výzvy ke zvýšení úrovně oprávnění, integrovaný manifest zaváděcího nástroje určí, že se soubor Setup.exe spustí s požadovanou úrovní spuštění z asInvoker. Tato funkce poskytuje tu výhodu, že instalace konečné aplikace nebude spuštěna se zvýšenou úrovní oprávnění, ačkoli stále umožňující instalaci nezbytných součásti se zvýšenou úrovní oprávnění podle potřeby. Zaváděcí nástroj pro spuštění nezbytných součástí volá ShellExecute. Windows Vista nebo Windows 7 obdrží toto volaní, provede detekci instalace a vydá uživatelskou výzvu před samotnou instalací.

Nevýhodou této změny je, že je vydána výzva pro každou nezbytnou součást, která musí být instalována a také pro samotnou aplikaci. Ovšem pokud jsou již všechny nezbytné součásti na počítači, instalace by neměla zobrazovat další výzvy. Navíc byste neměli mít externí kontroly, které vyžadují zvýšení úrovně oprávnění. Externí kontroly budou pracovat správně, ale uživatel obdrží několik výzev ke zvýšení úrovně oprávnění pro každou externí kontrolu navíc k výzvám pro instalační program.

Viz také

Úkoly

Odstraňování potíží v projektech instalace a nasazení

Odkaz

Deployment Errors and Support

Koncepty

Projekty instalace a nasazení

Další zdroje

Nasazování aplikací a součástí

Editory nasazení

Postupy a úlohy při nasazení

Dialogová okna nasazení

Ukázky nasazení a podrobné návody