Povoliť aplikácii ClickOnce inštaláciu viacerých publikovaných programov z toho istého projektu v rovnakom prostredí (iba vydania rozhrania .NET Framework)

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prostredie kontroly prevádzky

Vizuálne štúdio
  • Vizuálne štúdio 2022
Rozhranie .NET Framework
  • Rozhranie .NET Framework 4.8

Požadované prostredia

štruktúra
  • Windows Forms (.NET Framework) vo všeobecnosti
  • WPF (.NET Framework) vo všeobecnosti

Najskôr

Tento tip popisuje, ako nainštalovať viacero publikovaných clickonce z toho istého projektu samostatne v rovnakom prostredí.

O postupe publikovania viacerých kópií z toho istého projektu v rôznych konfiguráciách

Napríklad aj v tom istom projekte, ak sa obsah spracovania zmení v závislosti od konfigurácie zostavy, možno budete chcieť publikovať ako samostatný program. To je možné vo verzii .NET (Core), ale nie vo verzii .NET Framework so štandardnými funkciami Visual Studio.

Táto metóda je zhrnutá v nasledujúcich tipoch pomocou dávkového programu. Tento tip je vysvetlený na základe predpokladu, že nasledujúci obsah je dokončený.

Podmienky, za ktorých sa ClickOnce inštaluje ako samostatné aplikácie

Ak publikujete pomocou dávkového programu opísaného vyššie, konfigurácia zostavy sa zmení, ale obe sa považujú za rovnakú aplikáciu, Ak sa pokúsite nainštalovať dve v rovnakom prostredí, dôjde ku konfliktu a inštalácia zlyhá, aj keď sa o inštaláciu pokúsite neskôr.

Musím, aby sa to zdalo byť samostatnou aplikáciou, ale podľa citovaného článku aplikáciu identifikujú nasledujúce parametre:

Referencia: (.NET) Keď spustím aplikáciu po zverejnení pomocou služby ClickOnce, zistím, že "ID umiestnenia sa nezhoduje s predplatným"

  • Názov aplikácie
  • Token verejného kľúča
  • Kultúra
  • Architektúra procesora (napríklad x86)

Medzi nimi si myslím, že je nežiaduce meniť "kultúru" a "architektúru procesorov", pretože existuje možnosť neúmyselných výsledkov spracovania.

Myslím si, že existuje spôsob, ako zmeniť "názov aplikácie", V zásade sa to neodporúča, pretože jednému projektu možno dať iba jedno meno. Existuje možnosť, že viaceré definície je možné vytvoriť pomocou parametrov konfigurácie zostavy a podmienok v obsahu projektového súboru, Pretože v Visual Studio je možné nastaviť iba jedno používateľské rozhranie, je to trochu nebezpečné, pretože môže byť prepísané v závislosti od operácie.

Zvyšok je "token verejného kľúča", ale tento vám umožňuje vytvárať viac certifikátov, Keďže ho možno zadať ako parameter v čase publikovania ClickOnce, chcel by som aplikáciu identifikovať s týmto časom.

Postup kontroly prevádzky

Od vytvorenia projektu až po bod, keď je pripravený na publikovanie ako dávkový súbor, je rovnaký ako nasledujúce tipy, preto si ho pozrite pre postup do tohto bodu.

Vytvorenie certifikátu

Tentokrát potvrdíme certifikátom o teste pre vzorku. Pôvodne by sa to malo robiť s bežným certifikátom, ale keďže to bude vyžadovať iný postup ako hlavný predmet, ako je vytvorenie certifikátu a príprava certifikačnej autority, vylúčim vysvetlenie týkajúce sa certifikátov. Vo výrobe je v poriadku nahradiť súbor osvedčenia o teste výrobným súborom.

Po vytvorení projektu a vytvorení dávky na publikovanie sa vráťte do Visual Studio. Otvorte vlastnosti projektu a v ponuke vľavo vyberte položku Podpísať. Existuje kontrola "Podpísať manifest ClickOnce", takže ho skontrolujte.

Teraz vytvorte dva certifikáty. Tentokrát ho vytvoríme na tejto obrazovke, ale ". formát súboru pfx", nie je problém s vytváraním certifikátov inými prostriedkami.

V pravom dolnom rohu je tlačidlo "Vytvoriť testovací certifikát", takže naň kliknite.

Môžete tiež zadať heslo, ale funguje to bez ohľadu na to, či ste ho vložili alebo nie. Ak však chcete zadať heslo, postup bude nepríjemný, takže ho tentoraz nedám.

Pre váš projekt bol vygenerovaný súbor certifikátu (.pfx). Tu vygenerovaný názov súboru je pevný, ale neskôr ho možno zmeniť. Mimochodom, platnosť tu vytvoreného potvrdenia o teste je jeden rok. Po jednom roku budete musieť znovu vytvoriť nový certifikát.

Postupujte podľa rovnakých krokov a vytvorte ďalší.

Tentokrát zverejníme v zostave Debug a Release build, takže zmeníme názov na jasný.

Úprava šarže

Otvorte dávkový súbor, ktorý ste vytvorili (.bat) v textovom editore a do parametrov msbuild pridajte nasledovné:

vyžaduje sa popis názvu parametra
ManifestKeyFile Názov súboru (.pfx) certifikátu. Zadajte cestu, ktorá je relatívna alebo absolútna z projektového súboru.
ManifestCertifikateTlač palca Odtlačok osvedčenia o manifeste. Hodnota, ktorá sa má vložiť, môže byť čokoľvek, ale musí byť vložená všetkými prostriedkami.
Názov produktu Názov produktu. Stáva sa zobrazovaným názvom ponuky Štart alebo zoznamu programov.
PublisherName Názov verejnej spoločnosti. Pri organizovaní programov v ponuke Štart sa stáva názvom priečinka.

Na základe vyššie uvedeného upravte súbor opravy nasledovne.

ClickOnceDebug publikuje.bat (prí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 (Prí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 iný súbor certifikátu. ManifestCertificateThumbprint Hodnota môže byť čokoľvek, ale nezabudnite ju zahrnúť, pretože aplikáciu nie je možné identifikovať ako inú, ak ju nedáte.

Mimochodom, keďže dva programy sú tentoraz nainštalované v rovnakom prostredí, boli pridané parametre, ProductName aby ich bolo možné rozlíšiť. PublisherName podľa vašich predstáv.

vydať

Po zadaní spustite každý dávkový súbor a publikujte ho.

Ak sa xxxx.application nachádza v súbore, ktorý ste publikovali, otvorte ho v textovom editore a uistite sa, že mápublicKeyToken inú hodnotu.

inštalovať

Po skopírovaní publikovaných súborov do verejného priečinka ich spustite a nainštalujte ich setup.exe .

Ak zadáte certifikát v čase vydania, v čase inštalácie sa zobrazí nasledujúca obrazovka. Ak ide o testovací certifikát, vydavateľa nemožno potvrdiť, preto ho nainštalujte tak, ako je.

Prvý program bol nainštalovaný a spustený.

Skúsim nainštalovať ten druhý.

Druhý bol tiež nainštalovaný a spustený.

Samozrejme, obaja pracujú súčasne.

ProductName Keďže bol pripojený, zobrazuje sa samostatne v ponuke Štart.

Obe môžete vidieť aj v zozname aplikácií.