Atļaut ClickOnce instalēt vairākas publicētas programmas no viena projekta vienā vidē (.TIKAI NET Framework Editions)

Lapa atjaunota :
Lapas izveides datums :

Darbības pārbaudes vide

Vizuālā studija
  • Visual Studio 2022
.NET Framework
  • .NET Framework 4.8

Nepieciešamā vide

Sistēmu
  • Windows veidlapas (.NET Framework) kopumā
  • WPF (.NET Framework) kopumā

Sākumā

Šajā padomā ir aprakstīts, kā instalēt vairākus publicētus ClickOnce no viena projekta atsevišķi vienā un tajā pašā vidē.

Par viena projekta vairāku kopiju publicēšanas procedūru dažādās konfigurācijās

Piemēram, pat tajā pašā projektā, ja apstrādes saturs tiek mainīts atkarībā no būvējuma konfigurācijas, iespējams, vēlēsities publicēt kā atsevišķu programmu. Tas ir iespējams .NET (Core) versijā, bet ne .NET Framework versijā ar Visual Studio standarta funkcijām.

Šī metode ir apkopota šādos padomos, izmantojot pakešprogrammu. Šis padoms ir izskaidrots ar pieņēmumu, ka ir pabeigts šāds saturs.

Nosacījumi, saskaņā ar kuriem ClickOnce instalē kā atsevišķas lietojumprogrammas

Ja publicējat, izmantojot iepriekš aprakstīto pakešprogrammu, būvējuma konfigurācija tiek mainīta, bet abas tiek uzskatītas par vienu un to pašu lietojumprogrammu, Ja mēģināsit instalēt divus vienā vidē, radīsies konflikts, un instalēšana neizdosies pat tad, ja mēģināsit instalēt vēlāk.

Man ir jāpadara, ka tas ir atsevišķs pieteikums, bet saskaņā ar minēto rakstu lietojumprogrammu identificē šādi parametri:

Atsauce: (.NET) Palaižot lietotni pēc publicēšanas ar ClickOnce, es saprotu, ka "izvietojuma ID neatbilst abonementam"

  • Lietojumprogrammas nosaukums
  • Publiskās atslēgas marķieris
  • Kultūra
  • Procesora arhitektūra (piemēram, x86)

Starp tiem, manuprāt, nav vēlams mainīt "kultūru" un "procesoru arhitektūru", jo pastāv iespēja, ka būs neparedzēti apstrādes rezultāti.

Es domāju, ka ir veids, kā mainīt "lietojumprogrammas nosaukumu", Būtībā tas nav ieteicams, jo vienam projektam var piešķirt tikai vienu nosaukumu. Pastāv iespēja, ka vairākas definīcijas var veikt, veidojot konfigurāciju un nosacījuma parametrus projekta faila saturā, Tā kā programmā Visual Studio var iestatīt tikai vienu lietotāja saskarni, tas ir nedaudz bīstami, jo tas var tikt pārrakstīts atkarībā no darbības.

Pārējais ir "publiskās atslēgas marķieris", taču šis ļauj izveidot vairākus sertifikātus, Tā kā to var norādīt kā parametru ClickOnce publicēšanas laikā, es vēlētos identificēt lietojumprogrammu ar šo laiku.

Darbības pārbaudes procedūra

No projekta izveides brīža līdz brīdim, kad tas ir gatavs publicēšanai kā pakešfailu, tas ir tāds pats kā tālāk sniegtie padomi, tāpēc, lūdzu, skatiet to, lai veiktu procedūru līdz šim brīdim.

Sertifikāta izveide

Šoreiz mēs apstiprināsim ar parauga testa sertifikātu. Sākotnēji tas būtu jādara ar parasto sertifikātu, bet, tā kā tam būs nepieciešama procedūra, kas nav galvenais temats, piemēram, sertifikātu izveide un sertificēšanas iestādes sagatavošana, es izslēgšu paskaidrojumu, kas saistīts ar sertifikātiem. Ražošanā ir pareizi aizstāt testa sertifikāta failu ar ražošanas failu.

Kad esat izveidojis projektu un izveidojis paketi publicēšanai, atgriezieties programmā Visual Studio. Atveriet projekta rekvizītus un izvēlieties Parakstīt no izvēlnes pa kreisi. Ir pārbaude par "Parakstīt ClickOnce manifestu", tāpēc pārbaudiet to.

Tagad izveidojiet divus sertifikātus. Šoreiz mēs to izveidosim šajā ekrānā, bet ". pfx" faila formāts, nav problēmu ar sertifikātu izveidi ar citiem līdzekļiem.

Apakšējā labajā stūrī ir poga "Izveidot testa sertifikātu", tāpēc noklikšķiniet uz tās.

Varat arī ievietot paroli, taču tā darbojas neatkarīgi no tā, vai to ievietojat vai nē. Tomēr, ja vēlaties ievietot paroli, procedūra būs apgrūtinoša, tāpēc es to šoreiz nelikšu.

Jūsu projektam ir ģenerēts sertifikāta (.pfx) fails. Šeit ģenerētais faila nosaukums ir fiksēts, bet vēlāk to var mainīt. Starp citu, šeit izveidotā testa sertifikāta derīguma termiņš ir viens gads. Pēc viena gada jums būs jāizveido jauns sertifikāts.

Veiciet tās pašas darbības, lai izveidotu citu.

Šoreiz mēs publicēsim Debug būvējumā un Release build, tāpēc mēs mainīsim nosaukumu uz skaidru.

Partijas modifikācija

Atveriet izveidoto pakešfailu (.bat) teksta redaktorā un pievienojiet msbuild parametriem:

nepieciešams parametra nosaukuma apraksts
ManifestKeyFile Sertifikāta faila nosaukums (.pfx). Norādiet ceļu, kas ir relatīvs vai absolūts no projekta faila.
ManifestCertificateThumbprint Manifesta sertifikāta īkšķa nospiedums. Vērtība, kas jāieliek, var būt jebkas, bet tā ir jāieliek ar visiem līdzekļiem.
Produkta nosaukums Produkta nosaukums. Tas kļūst par sākuma izvēlnes vai programmu saraksta parādāmo nosaukumu.
PublisherName Publisks uzņēmuma nosaukums. Tas kļūst par mapes nosaukumu, organizējot programmas sākuma izvēlnē.

Pamatojoties uz iepriekš minēto, modificējiet ielāpa failu šādi.

ClickOnceDebug publicē.bat (piemērs)

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 problēma.bat (piemērs)

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 Katra vērtība norāda citu sertifikāta failu. ManifestCertificateThumbprint Vērtība var būt jebka, bet noteikti iekļaujiet to, jo lietojumprogrammu nevar identificēt kā citu, ja jūs to neievietojat.

Starp citu, tā kā divas programmas šoreiz ir instalētas vienā un tajā pašā vidē, ir pievienoti parametri, lai tos ProductName varētu atšķirt. PublisherName pēc jūsu patikas.

jautājums

Pēc ievades izpildiet katru pakešfailu un publicējiet to.

Ja xxxx.application atrodas publicētajā failā, atveriet to teksta redaktorā un pārliecinieties, vai tam irpublicKeyToken cita vērtība.

Instalēt

Pēc publicēto failu kopēšanas publiskajā mapē palaidiet, lai tos setup.exe instalētu .

Ja sertifikātu ievadāt izdošanas brīdī, instalēšanas laikā tiks parādīts šāds ekrāns. Ja tas ir testa sertifikāts, izdevēju nevar apstiprināt, tāpēc instalējiet to tādu, kāds tas ir.

Pirmā programma tika instalēta un palaista.

Es mēģināšu instalēt otru.

Otrs arī tika uzstādīts un palaists.

Protams, abi strādā vienlaicīgi.

ProductName Tā kā tas tika pievienots, tas tiek parādīts atsevišķi sākuma izvēlnē.

Abus var redzēt arī lietotņu sarakstā.