Dovoli clickOnce namestiti več objavljenih programov iz istega projekta v istem okolju (samo omrežne izdaje.NET)

Stran posodobljena :
Datum ustvarjanja strani :

Okolje za preverjanje delovanja

Vizualni studio
  • Vizualni studio 2022
.NET Framework
  • .NET Framework 4.8

Zahtevana okolja

Okvir
  • Obrazci sistema Windows (.NET Framework) na splošno
  • WPF (.NET Framework) na splošno

Sprva

V tem nasvetu je opisano, kako namestiti več objavljenih KlikOnce iz istega projekta ločeno v istem okolju.

O postopku za objavo več kopij iz istega projekta v različnih konfiguracijah

Na primer, tudi v istem projektu, če je vsebina obdelave spremenjena glede na konfiguracijo gradnje, boste morda želeli objaviti kot ločen program. To je mogoče v različici .NET (Core), vendar ne v različici .NET Framework s standardnimi funkcijami Visual Studio.

Ta metoda je povzeta v naslednjih nasvetih z uporabo paketnega programa. Namigi so v predpostavki pojasnjeni, da je naslednja vsebina dokončana.

Pogoji, pod katerimi clickOnce namesti kot ločene aplikacije

Če objavite z uporabo zgoraj opisanega paketnega programa, se konfiguracija gradbe spremeni, vendar se obe obravnavata kot isti program, Če poskusite namestiti dva v istem okolju, bo spor in namestitev ne bo uspela, tudi če poskusite namestiti pozneje.

Moram narediti, da se zdi, da je to ločena aplikacija, vendar v skladu z referenčnim členom, naslednji parametri identificirajo vlogo:

Referenčni: (.NET) Ko zaženem aplikacijo po objavi s klikomOnce, dobim, da se "ID namestitve ne ujema z naročnino"

  • Ime aplikacije
  • Žeton javnega ključa
  • Kultura
  • Arhitektura procesorja (na primer x86)

Med temi mislim, da je nezaželeno spremeniti "kulturo" in "arhitekturo procesorjev", ker obstaja možnost nenamerne obdelave rezultatov.

Mislim, da obstaja način za spremembo "ime aplikacije", V bistvu ni priporočljivo, ker je mogoče enemu projektu dati samo eno ime. Obstaja možnost, da je mogoče več definicij izdelati s konfiguracijo in parametri stanja v vsebini projektne datoteke, Ker je v Visual Studio mogoče nastaviti le en UI, je to nekoliko nevarno, ker se lahko prepisa glede na operacijo.

Ostalo je "žeton javnega ključa", vendar ta omogoča ustvarjanje več certifikatov, Ker ga je mogoče določiti kot parameter v času objavljanja ClickOnce, bi rad prepoznal aplikacijo s tem časom.

Postopek preverjanja delovanja

Od točke ustvarjanja projekta do točke, kjer je pripravljena za objavo kot paketna datoteka, je enaka naslednjim nasvetom, zato si ga navedite za postopek do te točke.

Ustvarjanje potrdila

Tokrat bomo potrdili s testnim potrdilom za vzorec. Prvotno je treba to storiti z rednim potrdilom, ker pa bo zahteval postopek, ki ni glavni predmet, kot sta priprava certifikata in priprava certifikatnega organa, bom izključil razlago v zvezi s certifikati. V proizvodnji je v redu zamenjati datoteko s potrdilom o preskusu s proizvodno datoteko.

Ko ustvarite projekt in ustvarite paket za objavo, se vrnite v Visual Studio. Odprite lastnosti projekta in v meniju na levi izberite Podpiši. Obstaja preverjanje za "Podpiši manifest ClickOnce", zato ga preverite.

Zdaj ustvarite dva certifikata. Tokrat ga bomo ustvarili na tem zaslonu, vendar ". pfx" format datoteke, ni težav z ustvarjanjem certifikatov na druge načine.

V spodnjem desnem kotu je gumb »Ustvari potrdilo o preskusu«, zato ga kliknite.

Geslo lahko tudi postavite, vendar deluje ne glede na to, ali ste ga dali v ali ne. Če pa želite dati geslo, bo postopek težaven, zato ga tokrat ne bom dal.

Za vaš projekt je bila ustvarjena datoteka certifikata (.pfx). Tukaj ustvarjeno ime datoteke je popravljeno, vendar ga je mogoče spremeniti pozneje. Mimogrede, veljavnost preskusnega spričevala, ustvarjenega tukaj, je eno leto. Po enem letu boste morali ponovno izobčiti novo potrdilo.

Sledite istim korakom, da ustvarite drugega.

Tokrat bomo objavili v Debug graditi in Release graditi, tako da bomo spremenili ime v jasno.

Sprememba serije

Odprite paketno datoteko, ki ste jo ustvarili (.bat) v urejevalniku besedila in dodajte naslednje parametrom msbuild:

zahtevan opis imena parametra
ManifestKeyFile Ime datoteke (.pfx) potrdila. Določite pot glede na datoteko projekta ali absolutno.
ManifestCertificateThumbprint Prstni odtis potrdila manifesta. Vrednost, ki jo je treba vneti, je lahko vse, vendar jo je treba vneti na vse načine.
Ime izdelka Ime izdelka. Postane prikazano ime začetnega menija ali seznama programov.
Ime publisherja Ime javnega podjetja. Pri organizaciji programov v začetnem meniju postane ime mape.

Na podlagi zgoraj navedenega spremenite obližno datoteko na naslednji način.

KlikniteOnceDebug objavlja.bat (primer)

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"

KlikniteOnceRelease issue.bat (Primer)

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 Vsaka vrednost določa drugo datoteko potrdila. ManifestCertificateThumbprint Vrednost je lahko karkoli, vendar se prepričajte, da jo vključite, ker aplikacije ni mogoče identificirati kot drugo, če je ne postavite.

Mimogrede, ker sta tokrat v istem okolju nameščena dva programa, ProductName so dodali parametre, tako da jih je mogoče razločiti. PublisherName po vaši volji.

vprašanje

Po vnosu izvršite vsako paketno datoteko in jo objavite.

Če je xxxx.application v datoteki, ki ste jo objavili, jo odprite v urejevalniku besedila inpublicKeyToken se prepričajte, da ima drugačno vrednost.

Namestiti

Ko kopirate objavljene datoteke v javno mapo, zaženite, da jih namestite setup.exe .

Če potrdilo vnesete ob datumu, se ob namestitvi prikaže naslednji zaslon. Če gre za preizkusno potrdilo, založnika ni mogoče potrditi, zato ga namestite tako, kot je.

Prvi program je bil nameščen in zagnan.

Poskusil bom namestiti drugega.

Druga je bila tudi nameščena in izstrenjena.

Seveda oba delata hkrati.

ProductName Ker je bil priložen, je prikazan ločeno v začetnem meniju.

Oba si lahko vidite tudi na seznamu aplikacij.