Sdílet prostřednictvím


Scénáře instalace balíčku VSPackage

Pro flexibilitu je důležité navrhnout instalační program VSPackage. V budoucnu budete například muset vydat opravu zabezpečení nebo změnit obchodní strategii, která vyžaduje důkladnou podporu souběžné správy verzí.

V části Podpora více verzí sady Visual Studio si můžete přečíst o výhodách a problémech podpory souběžných instalací sady Visual Studio se sdílenými nebo souběžnými instalacemi balíčku VSPackage. Stručně řečeno, souběžné balíčky VSPackage poskytují největší flexibilitu pro podporu nových funkcí sady Visual Studio.

Scénáře popsané v tomto tématu nejsou jedinými volbami, ale zobrazují se jako doporučené osvědčené postupy.

Komponenty, ochrana osobních údajů a sdílení

Nezávislé komponenty

Jakmile identifikujete a naplníte komponentu, přiřaďte komponentu GUIDa nasaďte ji, nemůžete změnit její složení. Pokud změníte složení součásti, výsledná komponenta musí být novou komponentou s novou GUID. Vzhledem k těmto skutečnostem je největší flexibilita správy verzí poskytnuta tím, že každá komponenta nezávislá, samostatná jednotka. Další informace opravidlech

Nekombinujte sdílené a soukromé prostředky v komponentě

Počítání odkazů probíhá na úrovni komponenty. V důsledku toho kombinace sdílených a privátních prostředků v jedné komponentě znemožňuje aktualizaci privátních prostředků, jako je spustitelný soubor, aniž by se přepsaly sdílené prostředky. Tento scénář vytváří problémy se zpětnou kompatibilitou a omezuje vás na vytváření souběžných funkcí.

Například hodnoty registru použité k registraci balíčku VSPackage v sadě Visual Studio SDK by se měly uchovávat v komponentě odděleně od hodnoty použité k registraci balíčku VSPackage v sadě Visual Studio. Sdílené soubory nebo hodnoty registru se přecházejí do jiné komponenty.

Scénář 1: Sdílený balíček VSPackage

V tomto scénáři se do balíčku Instalační služby systému Windows odešle sdílený balíček VSPackage (jeden binární soubor, který podporuje více verzí sady Visual Studio). Registrace jednotlivých verzí sady Visual Studio se řídí funkcemi, které lze vybrat uživatelem. To také znamená, že při přiřazení k samostatným funkcím lze každou komponentu vybrat jednotlivě pro instalaci nebo odinstalaci a dát uživateli kontrolu nad integrací balíčku VSPackage do různých verzí sady Visual Studio. (Viz Další informace o používání funkcí v balíčcích Instalační služby systému Windows.)

VS Shared VSPackage installer

Jak je znázorněno na obrázku, sdílené komponenty jsou součástí funkce Feat_Common, která je vždy nainstalována. Když zviditelníte funkce Feat_VS2002 a Feat_VS2003, můžou si uživatelé zvolit v době instalace, do kterých verzí sady Visual Studio chtějí balíček VSPackage integrovat. Uživatelé mohou také pomocí režimu údržby Instalační služby systému Windows přidat nebo odebrat funkce, které v tomto případě přidají nebo odeberou informace o registraci balíčku VSPackage z různých verzí sady Visual Studio.

Poznámka:

Nastavení sloupce Zobrazení funkce na 0 ho skryje. Nízká hodnota sloupce úrovně, například 1, zajistí, že bude vždy nainstalována. Další informace naleznete v tématu INSTALLLEVEL Vlastnost a tabulka funkcí.

Scénář 2: Aktualizace sdíleného balíčku VSPackage

V tomto scénáři se odešle aktualizovaná verze instalačního programu VSPackage ve scénáři 1. V zájmu diskuze přidává aktualizace podporu pro Visual Studio, ale může to být také jednodušší oprava zabezpečení nebo oprava chyby Service Pack. Pravidla Instalační služby systému Windows pro instalaci novějších komponent vyžadují, aby se nezměnily součásti, které jsou již v systému, nejsou recopied. V tomto případě systém s již přítomnou verzí 1.0 přepíše aktualizovanou komponentu Comp_MyVSPackage.dll a umožní uživatelům přidat novou funkci Feat_VS2005 s její komponentou Comp_VS2005_Reg.

Upozornění

Kdykoli se balíček VSPackage sdílí mezi několika verzemi sady Visual Studio, je nezbytné, aby následné verze balíčku VSPackage zachovaly zpětnou kompatibilitu s předchozími verzemi sady Visual Studio. Pokud nemůžete zachovat zpětnou kompatibilitu, musíte použít souběžné privátní balíčky VSPackage. Další informace naleznete v tématu Podpora více verzí sady Visual Studio.

VS Shared VS Package Update installer

Tento scénář představuje nový instalační program VSPackage, který využívá podporu Instalační služby systému Windows pro menší upgrady. Uživatelé jednoduše nainstalují verzi 1.1 a upgradují verzi 1.0. Není však nutné mít v systému verzi 1.0. Stejný instalační program nainstaluje verzi 1.1 do systému bez verze 1.0. Výhodou poskytování menších upgradů tímto způsobem je, že není nutné projít prací na vývoji instalačního programu upgradu a kompletního instalačního programu produktu. Jeden instalační program provede obě úlohy. Oprava zabezpečení nebo aktualizace Service Pack mohou místo toho využívat opravy Instalační služby systému Windows. Další informace najdete v tématu Opravy a upgrady.

Scénář 3: Balíček VSPackage vedle sebe

Tento scénář představuje dva instalační programy VSPackage – jeden pro každou verzi sady Visual Studio .NET 2003 a Visual Studio. Každý instalační program nainstaluje balíček VSPackage vedle sebe nebo privátní balíček VSPackage (který je speciálně sestavený a nainstalovaný pro konkrétní verzi sady Visual Studio). Každý balíček VSPackage je ve své vlastní komponentě. Každý z nich proto může být individuálně obsluhován opravami nebo verzemi údržby. Protože knihovna DLL VSPackage je nyní specifická pro verzi, je bezpečné zahrnout informace o registraci do stejné součásti jako knihovna DLL.

VS Side-by-Side VS Package installer

Každý instalační program obsahuje také kód sdílený mezi těmito dvěma instalačními programy. Pokud je sdílený kód nainstalován do společného umístění, instalace obou souborů .msi nainstaluje sdílený kód pouze jednou. Druhý instalační program pouze zvýší počet odkazů na komponentu. Počet odkazů zajistí, že pokud se jeden z balíčků VSPackage odinstaluje, sdílený kód zůstane pro druhý balíček VSPackage. Pokud se druhý balíček VSPackage odinstaluje, sdílený kód se odebere.

Scénář 4: Souběžná aktualizace balíčku VSPackage

V tomto scénáři váš balíček VSPackage pro Visual Studio utrpěl ohrožení zabezpečení a potřebujete vydat aktualizaci. Stejně jako ve scénáři 2 můžete vytvořit nový soubor .msi, který aktualizuje existující instalaci tak, aby zahrnoval opravu zabezpečení, a také nasadit nové instalace s již zavedenou opravou zabezpečení.

V tomto případě je balíček VSPackage spravovaný balíček VSPackage nainstalovaný v globální mezipaměti sestavení (GAC). Když ji znovu sestavíte tak, aby zahrnovala opravu zabezpečení, musíte změnit část čísla revize čísla verze sestavení. Registrační informace pro nové číslo verze sestavení přepíší předchozí verzi, což způsobí, že Visual Studio načte pevné sestavení.

VS Side-by-Side VS Package Update installer

Další informace o nasazení souběžných sestavení naleznete v tématu Zjednodušení nasazení a řešení knihovny DLL Hell s rozhraním .NET Framework.