Povolit ClickOnce instalovat více publikovaných programů ze stejného projektu ve stejném prostředí (pouze edice rozhraní .NET Framework)

Stránky aktualizovány :
Datum vytvoření stránky :

Prostředí pro kontrolu provozu

Vizuální sada
  • Vizuální sada 2022
Rozhraní .NET Framework
  • Rozhraní.NET Framework 4.8

Požadovaná prostředí

rámec
  • Model Windows Forms (.NET Framework) obecně
  • WPF (.NET Framework) obecně

Nejprve

Tyto tipy popisují, jak nainstalovat více publikovaných ClickOnce ze stejného projektu samostatně ve stejném prostředí.

Postup publikování více kopií ze stejného projektu v různých konfiguracích

Například i ve stejném projektu, pokud se obsah zpracování změní v závislosti na konfiguraci sestavení, můžete chtít publikovat jako samostatný program. To je možné ve verzi .NET (Core), ale ne ve verzi .NET Framework se standardními funkcemi sady Visual Studio.

Tato metoda je shrnuta v následujících tipech pomocí dávkového programu. Tento tip je vysvětlen za předpokladu, že je dokončen následující obsah.

Podmínky, za kterých se ClickOnce instaluje jako samostatné aplikace

Pokud publikujete pomocí dávkového programu popsaného výše, konfigurace sestavení se změní, ale obě jsou považovány za stejnou aplikaci, Pokud se pokusíte nainstalovat dva ve stejném prostředí, dojde ke konfliktu a instalace se nezdaří, i když se pokusíte nainstalovat později.

Potřebuji, aby to vypadalo jako samostatná aplikace, ale podle odkazovaného článku identifikují aplikaci následující parametry:

Odkaz: (.NET) Když spustím aplikaci po publikování pomocí ClickOnce, zjistím, že "ID umístění neodpovídá předplatnému"

  • Název aplikace
  • Token veřejného klíče
  • Kultura
  • Architektura procesoru (například x86)

Mezi nimi si myslím, že je nežádoucí měnit "kulturu" a "architekturu procesoru", protože existuje možnost neúmyslného zpracování výsledků.

Myslím, že existuje způsob, jak změnit "název aplikace", V zásadě se to nedoporučuje, protože jednomu projektu lze dát pouze jedno jméno. Existuje možnost, že více definic může být provedeno konfigurací sestavení a parametry podmínky v obsahu souboru projektu, Vzhledem k tomu, že v aplikaci Visual Studio lze nastavit pouze jedno uživatelské rozhraní, je to trochu nebezpečné, protože může být přepsáno v závislosti na operaci.

Zbytek je "token veřejného klíče", ale tento umožňuje vytvořit více certifikátů, Vzhledem k tomu, že může být zadán jako parametr v době publikování ClickOnce, chtěl bych identifikovat aplikaci s touto dobou.

Postup kontroly provozu

Od okamžiku vytvoření projektu až do okamžiku, kdy je připraven k publikování jako dávkový soubor, je to stejné jako následující tipy, proto se na něj prosím podívejte na postup až do tohoto bodu.

Vytvoření certifikátu

Tentokrát to potvrdíme testovacím certifikátem pro vzorek. Původně to mělo být provedeno s běžným certifikátem, ale protože to bude vyžadovat jiný postup než hlavní předmět, jako je vytvoření certifikátu a příprava certifikační autority, vyloučím vysvětlení týkající se certifikátů. V produkčním prostředí je v pořádku nahradit soubor testovacího certifikátu produkčním souborem.

Po vytvoření projektu a vytvoření dávky pro publikování se vraťte do sady Visual Studio. Otevřete vlastnosti projektu a zvolte Podepsat z nabídky vlevo. K dispozici je kontrola "Podepsat manifest ClickOnce", takže ji zkontrolujte.

Nyní vytvořte dva certifikáty. Tentokrát ji vytvoříme na této obrazovce, ale ". pfx" formát souboru, není problém s vytvářením certifikátů jinými prostředky.

V pravém dolním rohu je tlačítko "Vytvořit testovací certifikát", takže na něj klikněte.

Můžete také zadat heslo, ale funguje to, ať už jste ho vložili nebo ne. Pokud však chcete zadat heslo, postup bude nepříjemný, takže to tentokrát nedám.

Pro váš projekt byl vygenerován soubor certifikátu (.pfx). Zde vygenerovaný název souboru je pevný, ale lze jej později změnit. Mimochodem, platnost zde vytvořeného testovacího certifikátu je jeden rok. Po jednom roce budete muset znovu vytvořit nový certifikát.

Postupujte podle stejných kroků a vytvořte další.

Tentokrát budeme publikovat v sestavení Debug a Release build, takže změníme název na jasný.

Úprava šarže

Otevřete dávkový soubor, který jste vytvořili (.bat) v textovém editoru, a přidejte následující k parametrům nástroje msbuild:

Název
parametru Popis Požadováno
ManifestKeyFile Název souboru (.pfx) certifikátu. Zadejte cestu relativní nebo absolutní ze souboru projektu.
ManifestCertificateThumbprint Kryptografický otisk certifikátu manifestu. Hodnota, která má být vložena, může být cokoliv, ale musí být vložena všemi prostředky.
Název_produktu Název produktu. Stane se zobrazovaným názvem nabídky Start nebo seznamu programů.
Název_vydavatele Veřejný název společnosti. Stává se názvem složky při organizaci programů v nabídce Start.

Na základě výše uvedeného upravte soubor opravy následujícím způsobem.

ClickOnceDebug publikuje.bat (příklad)

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
cd %~dp0
msbuild ClickOnceBuildConfiguration.sln /t:Publish /t:CopyPublishedApplication /p:Configuration=Debug /p:PublishUrl="publish\Debug\\" /p:InstallUrl="\\xxxxServer\publish_Debug\\" /p:ManifestKeyFile="ClickOnceMultipleInstallDebug.pfx" /p:ManifestCertificateThumbprint="Debug" /p:ProductName="CliclOnce テスト Debug システム" /p:PublisherName="Sorceryforce"

ClickOnceRelease Issue.bat (příklad)

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
cd %~dp0
msbuild ClickOnceBuildConfiguration.sln /t:Publish /t:CopyPublishedApplication /p:Configuration=Release /p:PublishUrl="publish\Release\\" /p:InstallUrl="\\xxxxServer\publish_Release\\" /p:ManifestKeyFile="ClickOnceMultipleInstallRelease.pfx" /p:ManifestCertificateThumbprint="Release" /p:ProductName="CliclOnce テスト Release システム" /p:PublisherName="Sorceryforce"

ManifestKeyFile Každá hodnota určuje jiný soubor certifikátu. ManifestCertificateThumbprint Hodnota může být cokoli, ale nezapomeňte ji zahrnout, protože aplikaci nelze identifikovat jako jinou, pokud ji nezadáte.

Mimochodem, protože dva programy jsou tentokrát nainstalovány ve stejném prostředí, byly přidány parametry, ProductName aby je bylo možné rozlišit. PublisherName podle vašich představ.

vydat

Po zadání spusťte každý dávkový soubor a publikujte jej.

Pokud je xxxx.application v publikovaném souboru, otevřete jej v textovém editoru a ujistěte se, že mápublicKeyToken jinou hodnotu.

nainstalovat

Po zkopírování publikovaných souborů do veřejné složky je spusťte a nainstalujte je setup.exe .

Pokud zadáte certifikát v době vydání, zobrazí se v době instalace následující obrazovka. Pokud se jedná o testovací certifikát, vydavatele nelze potvrdit, proto jej nainstalujte tak, jak je.

První program byl nainstalován a spuštěn.

Zkusím nainstalovat ten druhý.

Druhý byl také nainstalován a spuštěn.

Samozřejmě, oba pracují současně.

ProductName Vzhledem k tomu, že byl připojen, zobrazuje se samostatně v nabídce Start.

Obojí můžete také vidět v seznamu aplikací.