Salli ClickOncen asentaa useita julkaistuja ohjelmia samasta projektista samaan ympäristöön (vain.NET Framework Editions)

Sivu päivitetty :
Sivun luontipäivämäärä :

Käyttötarkastuksen ympäristö

Visuaalinen studio
  • Visual Studio 2022
.NET-kehys
  • .NET Framework 4.8

Pakolliset ympäristöt

puitteet
  • Windows-lomakkeet (.NET Framework) yleensä
  • WPF (.NET Framework) yleensä

Alun perin

Tässä vinkissä kuvataan, miten voit asentaa useita julkaistuja ClickOnce-merkintöjä samasta projektista erikseen samassa ympäristössä.

Tietoja menettelystä, jolla samasta projektista julkaistaan useita kopioita eri kokoonpanoissa

Esimerkiksi jopa samassa projektissa, jos käsittelysisältöä muutetaan koontiversion kokoonpanon mukaan, saatat haluta julkaista erillisenä ohjelmana. Tämä on mahdollista .NET (Core) -versiossa, mutta ei .NET Framework -versiossa, jossa on Visual Studion vakio-ominaisuudet.

Tämä menetelmä on tiivistetty seuraavissa vinkeissä eräohjelman avulla. Tämä vinkki selitetään olettaen, että seuraava sisältö on valmis.

Ehdot, joissa ClickOnce asennetaan erillisinä sovelluksina

Jos julkaiset yllä kuvatulla eräohjelmalla, koontiversion määritystä muutetaan, mutta molempia käsitellään samana sovelluksena, Jos yrität asentaa kaksi samassa ympäristössä, on ristiriita, ja asennus epäonnistuu, vaikka yrität asentaa myöhemmin.

Minun on saatava tämä näyttämään erilliseltä sovellukselta, mutta viitatun artikkelin mukaan seuraavat parametrit tunnistavat sovelluksen:

Viittaus: (.NET) Kun käynnistän sovelluksen ClickOncen kanssa julkaisemisen jälkeen, saan, että "sijoittelutunnus ei vastaa tilausta"

  • Sovelluksen nimi
  • Julkisen avaimen tunnus
  • Kulttuuri
  • Prosessoriarkkitehtuuri (esimerkiksi x86)

Näistä mielestäni ei ole toivottavaa muuttaa "kulttuuria" ja "prosessoriarkkitehtuuria", koska on olemassa mahdollisuus tahattomiin käsittelytuloksiin.

Mielestäni on olemassa tapa muuttaa "sovelluksen nimeä", Periaatteessa sitä ei suositella, koska yhdelle projektille voidaan antaa vain yksi nimi. On mahdollista, että projektitiedoston sisällössä voidaan tehdä useita määritelmiä koontimääritys- ja ehtoparametreilla, Koska Visual Studiossa voidaan asettaa vain yksi käyttöliittymä, se on hieman vaarallista, koska se voidaan korvata toiminnasta riippuen.

Loput ovat "julkisen avaimen tunnus", mutta tämän avulla voit luoda useita varmenteita, Koska se voidaan määrittää parametriksi ClickOncen julkaisemisen yhteydessä, haluaisin tunnistaa sovelluksen tällä kertaa.

Toiminnan tarkastusmenettely

Projektin luomispisteestä siihen pisteeseen, jossa se on valmis julkaistavaksi erätiedostona, se on sama kuin seuraavat vinkit, joten katso siitä menettely siihen asti.

Varmenteen luominen

Tällä kertaa vahvistamme näytteen testitodistuksella. Alun perin se pitäisi tehdä tavallisella todistuksella, mutta koska se vaatii muun menettelyn kuin pääaiheen, kuten varmenteen luomisen ja varmenteen myöntäjän valmistelun, suljen pois sertifikaatteihin liittyvän selityksen. Tuotannossa on OK korvata testivarmennetiedosto tuotantotiedostolla.

Kun olet luonut projektin ja luonut erän julkaistavaksi, palaa Visual Studioon. Avaa projektin ominaisuudet ja valitse vasemmalla olevasta valikosta Allekirjoita. On olemassa tarkistus "Allekirjoita ClickOnce-manifesti", joten tarkista se.

Luo nyt kaksi varmennetta. Tällä kertaa luomme sen tälle näytölle, mutta ". pfx"-tiedostomuoto, varmenteiden luomisessa ei ole ongelmia muilla keinoilla.

Oikeassa alakulmassa on "Luo testitodistus" -painike, joten napsauta sitä.

Voit myös laittaa salasanan, mutta se toimii riippumatta siitä, laitatko sen sisään vai et. Jos kuitenkin haluat laittaa salasanan, menettely on hankala, joten en laita sitä tällä kertaa.

Projektillesi on luotu varmennetiedosto (.pfx). Tässä luotu tiedostonimi on korjattu, mutta sitä voidaan muuttaa myöhemmin. Muuten, tässä luodun testitodistuksen voimassaoloaika on yksi vuosi. Vuoden kuluttua sinun on luotava uusi todistus.

Noudata samoja ohjeita luodaksesi toisen.

Tällä kertaa julkaisemme Debug-koontiversiossa ja Release-koontiversiossa, joten muutamme nimen selkeäksi.

Erän muokkaus

Avaa luomasi erätiedosto (.bat) tekstieditorissa ja lisää seuraavat tiedot msbuild-parametreihin:

parametrin nimen kuvaus vaaditaan
ManifestKeyFile Varmenteen tiedostonimi (.pfx). Määritä polku suhteessa projektitiedostoon tai absoluuttinen projektitiedostosta.
ManifestCertificateThumbprint Manifestitodistuksen peukalonjälki. Arvo, joka on asetettava, voi olla mikä tahansa, mutta se on pantava kaikin keinoin.
ProductName Tuotteen nimi. Siitä tulee Käynnistä-valikon tai ohjelmaluettelon näyttönimi.
Julkaisijan nimi Julkisen yrityksen nimi. Siitä tulee kansion nimi, kun järjestät ohjelmia Käynnistä-valikossa.

Yllä olevan perusteella muokkaa korjaustiedostoa seuraavasti.

ClickOnceDebug julkaisee.bat (esimerkki)

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-ongelma.bat (esimerkki)

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 Jokainen arvo määrittää eri varmennetiedoston. ManifestCertificateThumbprint Arvo voi olla mikä tahansa, mutta muista sisällyttää se, koska sovellusta ei voida tunnistaa toiseksi, jos et laita sitä.

Muuten, koska kaksi ohjelmaa on asennettu samaan ympäristöön tällä kertaa, parametrit on lisätty, ProductName jotta ne voidaan erottaa toisistaan. PublisherName mieleisesi mukaan.

ongelma

Suorita syötteen jälkeen jokainen erätiedosto ja julkaise se.

Jos xxxx.application on julkaisemassasi tiedostossa, avaa se tekstieditorissa ja varmista, että sillä onpublicKeyToken eri arvo.

asentaa

Kun olet kopioinut julkaistut tiedostot yleiseen kansioon, asenna ne suorittamalla ne setup.exe .

Jos syötät varmenteen myöntämishetkellä, seuraava näyttö tulee näkyviin asennuksen yhteydessä. Jos kyseessä on testivarmenne, julkaisijaa ei voi vahvistaa, joten asenna se sellaisenaan.

Ensimmäinen ohjelma asennettiin ja käynnistettiin.

Yritän asentaa toisen.

Toinen asennettiin ja lanseerattiin myös.

Tietenkin molemmat toimivat samaan aikaan.

ProductName Koska se oli liitetty, se näkyy erikseen Käynnistä-valikossa.

Näet molemmat myös sovellusluettelossa.