Farbschema: Hell
Sie befinden sich hier: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Office SDK » reference » delivery-settings.json

delivery-settings.json

Nastavitve izdaje projekta Access: različica aplikacije, njeni cilji in paketi izdaj knjižnic, ki jih izdaja prinese s seboj. Datoteko berejo wkl-office deliver in skupina Izdaja dodatka.

Sintaksa

delivery\delivery-settings.json v mapi projekta, pod nadzorom različic:

{
  "format": 2,
  "version": "1.4.0",
  "packages": {
    "components": "%WKL_PACKAGES%\\Wkl.Forms.ObjectLibrary\\2.0.0",
    "json": "%WKL_PACKAGES%\\Wkl.Office.JSON\\2.0.0",
    "bootstrapper": "%WKL_PACKAGES%\\Wkl.Bootstrapper\\3.1.0"
  }
}

Poleg nje je za vsak profil izdaje datoteka delivery\<profile>.profile.json:

{ "format": 1, "configuration": "Release" }

Povzetek

Vsak projekt ima eno tako datoteko s tistim, kar je skupno vsem profilom izdaje in česar SDK ne more razbrati iz izvornih datotek: katero različico nosi izdaja in kje na računalniku za gradnjo so paketi izdaj. Vsak profil je samostojna datoteka (profili izdaje). Nastavitve zaganjalnika (Starter) – datoteke, register, bližnjice, pogoji in mapa v skupni rabi, iz katere bere – so v njegovi projektni datoteki za posamezni profil, delivery\<profile>.bootstrapper.json, ki jo urejate s programom Bootstrapper Manager. Datoteka v obliki 1 namesto tega navaja izdane načine v targets; še vedno velja.

Ne zamenjajte je z datoteko delivery.json, ki jo WKL Bootstrapper ob podpisani izdaji zapiše v izvorno mapo.

Parametri

VnosTipPrivzetoOpis
formatšteviloobvezno1 (cilji v tej datoteki) ali 2 (profili izdaje). Višjo številko SDK zavrne.
versionbesediloobveznoRazličica aplikacije (1.4.0), zapisana v vsak app-manifest.json. Možnost --version ukaza deliver jo preglasi.
targetsseznamv obliki 1 obvezno, vsaj enCilji izdaje; vsak cilj je en način modela aplikacije in se sme pojaviti največ enkrat. V obliki 2 ga SDK zavrne.
targets[].modebesediloobveznoDevelopment (ACCDB), Administration ali Production (ACCDE z zagonskimi lastnostmi načina).
targets[].runtimeDa/Netrue za Production, sicer falseAli je ACCDE namenjena za Access Runtime (runtime v manifestu).
targets[].starterbesedilodelivery/<mode>.bootstrapper.jsonProjektna datoteka zaganjalnika za cilj, relativno glede na mapo projekta.
targets[].outputbesedilobuild\Delivery\<mode>Mapa izdaje cilja (mapa, iz katere se zaganja zaganjalnik, podobno kot ciljna mapa profila objave): absolutno, s spremenljivkami okolja ali relativno glede na mapo projekta.
targets[].starterNamebesediloWkl.Bootstrapper.exeIme datoteke zaganjalnika v izdaji, s končnico .exe (demo.exe). Do različice WKL Bootstrapper 2.4.1 je bilo privzeto ime Wkl.Access.Bootstrapper.exe; če ga je uporabljala prejšnja izdaja v mapi, deliver opozori, saj bližnjice uporabnikov kažejo nanj. Če želite ime obdržati, nastavite starterName na Wkl.Access.Bootstrapper.exe. Njegova projektna datoteka se v tem primeru zapiše kot <name>.bootstrapper.json (demo.bootstrapper.json), ki jo zaganjalnik od različice 2.3.0 naprej najde po svojem imenu, zato si lahko več preimenovanih zaganjalnikov (profilov) deli eno mapo.
targets[].bitnessbesedilopraznoany iz ene gradnje izda cilj za 32-bitni in 64-bitni Office: datoteko ACCDB brez shranjene prevedene kode, ki jo Access ob prvem zagonu prevede sam, ne glede na to, ali je 32- ali 64-biten. Brez vrednosti se izda podatkovna zbirka v različici programa Access, ki gradi (ACCDE za Administration in Production). Vsako drugo vrednost SDK zavrne.
packages.componentsbesedilopraznoPaket izdaje WKL Forms Object Library (mapa z x86 in x64). Potreben, kadar se projekt sklicuje na WklForms (do izdaje 1.x WklComponents). Paket druge glavne različice, kot je različica sklica, je napaka.
packages.jsonbesedilopraznoPaket izdaje WKL Office JSON (prej WKL Access JSON; strežnik je od 2.0.0 Wkl.Office.JSON.dll, do 1.0.3 Wkl.Access.JSON.dll). Potreben, kadar se projekt sklicuje na WklJSON. Paket od 2.0.0 naprej potrebuje zaganjalnik 2.3.1 ali novejši; s starejšim se deliver prekine.
packages.bootstrapperbesediloobvezno za izdajoMapa z izdajo programa WKL Bootstrapper (z Wkl.Bootstrapper.exe, do različice 2.4.1 Wkl.Access.Bootstrapper.exe, in tools). Za WKL Forms Object Library 2.0 je potreben WKL Bootstrapper 3.1 ali novejši; starejše različice poznajo le izdajo 1.x, ukaz deliver pa se z njimi prekine.
packages.dotnetbesedilopraznoZasebno izvajalno okolje .NET, ki ga izdaja prinese s seboj, podobno kot samostojna objava (self-contained): mapa z x86 in/ali x64, vsaka je namestitvena mapa .NET (dotnet.exe, host, shared z Microsoft.WindowsDesktop.App). Kopira se v deploy\dotnet\<bitness>. Pustite prazno, če imajo računalniki uporabnikov .NET že nameščen.
packages.odbcseznampraznoGonilniki ODBC, ki jih izdaja prinese s seboj, vsak kot { "driver": "<name as in the connection texts>", "folder": "<folder with the driver's DLLs>" }, vsak gonilnik enkrat. Kopirajo se v deploy\odbc\<driver>.

Poti paketov lahko vsebujejo spremenljivke okolja (%WKL_PACKAGES%) in so lahko relativne glede na mapo projekta, zato ena datoteka služi vsem računalnikom, tudi če so paketi na njih v različnih mapah. Neznane vnose SDK zavrne; ko datoteko zapiše sam, privzete vrednosti izpusti.

Profili izdaje (oblika 2)

V obliki 2 ("format": 2) datoteka delivery-settings.json vsebuje le tisto, kar je skupno vsem ciljem (version, publisher, supportEnd, requirePublisher, packages), seznama targets pa nima. Vsak cilj je samostojna datoteka delivery\<name>.profile.json, podobno kot profil za objavo v Visual Studiu; deliver in dodatek profile obdelata po abecednem vrstnem redu njihovih imen.

{
  "format": 1,
  "configuration": "StrankaA",
  "starterName": "stranke.exe"
}
VnosTipPrivzetoOpis
formatšteviloobvezno1, oblika datoteke profila. Višjo številko SDK zavrne.
configurationbesediloobveznoKonfiguracija gradnje iz projektne datoteke, v kateri se profil zgradi (projektna datoteka). Njen AppMode je način izdaje; konfiguracijo, ki načina ne določa, SDK zavrne. Njen ConnectionProfile poveže tabele.
runtimeda/netrue za Production, sicer falseKot targets[].runtime.
starterbesedilodelivery/<name>.bootstrapper.jsonKot targets[].starter.
outputbesedilobuild\Delivery\<name>Kot targets[].output.
starterNamebesediloWkl.Bootstrapper.exeKot targets[].starterName.
bitnessbesedilopraznoKot targets[].bitness.
  • Ime profila je ime njegove datoteke: črke, števke, presledki in - _ ., največ 64 znakov, brez presledka ali pike na začetku ali koncu in brez imena naprave v sistemu Windows (CON, NUL …). deliver -p <name> pripravi izdajo za en sam profil.
  • Več profilov lahko izdaja isti način, na primer po en profil za vsako stranko, vsak s svojo konfiguracijo (profilom povezave) in svojo mapo. Ali se izda ACCDE, je kot v obliki 1 odvisno od načina: za Development se izda ACCDB; Accde v konfiguraciji tega ne spremeni.
  • Oblika 1 ostaja veljavna. Njeni cilji se preberejo kot profili z imenom svojega načina in se zgradijo v konfiguraciji z enakim imenom, če jo projektna datoteka ima, sicer z nastavitvami projekta; način je način cilja. SDK datoteke v obliki 1 sam ne pretvori v obliko 2; Lastnosti projekta v dodatku zapišejo obliko 2, ko izdajo tam spremenite (uporaba dodatka za Access).

Opombe

  • Katere knjižnice so del izdaje, SDK razbere iz sklicev projekta (source\references.json) po GUID njihove knjižnice tipov: WKL Forms Object Library in WKL Office JSON. Sklici na Access, DAO, VBA ali Office spadajo k programu Access in niso del izdaje.
  • SDK paket preveri, še preden kar koli zgradi: vsebovati mora 32- in 64-bitno različico (x86\<dll>, x64\<dll>), njegova različica (iz x86\registration.json, sicer iz imena mape) pa ne sme biti starejša od sklica. Rezultat pokaže wkl-office deliver --dependencies.
  • Izvajalnega okolja in gonilnikov SDK ne razbere iz izvornih datotek: ne more vedeti, ali imajo računalniki uporabnikov .NET ali gonilnik že nameščen, zato so del izdaje samo, če jih navaja packages. Ko se projektna datoteka zaganjalnika zapiše iz predloge, se dodata predlogi dotnet in odbc; predloga odbc navaja vzorčni gonilnik, ki ga razvijalec v programu Bootstrapper Manager nadomesti z gonilniki, navedenimi tukaj.
  • Mapo izdaje SDK izprazni samo, če jo je zapisala prejšnja izdaja (je prazna ali vsebuje deploy\app-manifest.json). Vsako drugo mapo – na primer mapo v skupni rabi ali pomotoma mapo projekta – zavrne in je ne spremeni.
  • bitness: any gradi dvakrat. Prva gradnja kodo prevede, da jo preveri; napaka pri prevajanju konča izdajo z izhodno kodo 4, enako kot pri build. Druga gradnja naloži iste izvorne datoteke brez prevajanja; ta podatkovna zbirka se izda, zato ne vsebuje kode, prevedene v programu Access, ki gradi. Zagonske lastnosti dobi po izbranem načinu, enako kot ACCDE. Ker se izda ACCDB, je koda berljiva in jo je mogoče spremeniti; če to ni sprejemljivo, izdajte ACCDE posebej za 32- in za 64-bitni Office. Koda VBA mora delovati v obeh različicah (PtrSafe in LongPtr v stavkih Declare). app-manifest.json navaja "bitness": "any".
  • Ključ izdelka za vsak cilj: Production se izda pod imenom projekta, Administration pod imenom s pripono Admin, Development s pripono Dev. Kopije na uporabnikovem računalniku se zato nikoli ne prepišejo med seboj. Profili izdaje z istim načinom imajo isti ključ izdelka; izdajte jih na različne računalnike.

Primer kode

Izdaja samo za produkcijo, s paketi v mapi poleg projekta:

{
  "format": 1,
  "version": "2.0.0",
  "targets": [ { "mode": "Production" } ],
  "packages": {
    "components": "..\\packages\\Wkl.Forms.ObjectLibrary\\2.0.0",
    "bootstrapper": "..\\packages\\Wkl.Bootstrapper\\3.1.0"
  }
}

Izdaja v mapo v skupni rabi, s preimenovanim zaganjalnikom, zasebnim izvajalnim okoljem .NET in gonilnikom OData:

{
  "format": 1,
  "version": "2.0.0",
  "targets": [ { "mode": "Production", "output": "\\\\server\\apps\\Demo", "starterName": "demo.exe" } ],
  "packages": {
    "components": "..\\packages\\Wkl.Forms.ObjectLibrary\\2.0",
    "bootstrapper": "..\\packages\\Wkl.Bootstrapper\\3.1.0",
    "dotnet": "..\\packages\\dotnet-10",
    "odbc": [ { "driver": "Wkl OData", "folder": "..\\packages\\WklOData" } ]
  }
}

Izdaja za dve stranki v obliki 2, vsaka zgrajena v svoji konfiguraciji (delivery\delivery-settings.json, nato delivery\Stranka A.profile.json in delivery\Stranka B.profile.json):

{
  "format": 2,
  "version": "2.0.0",
  "packages": {
    "components": "..\\packages\\Wkl.Forms.ObjectLibrary\\2.1.0",
    "bootstrapper": "..\\packages\\Wkl.Bootstrapper\\3.1.0"
  }
}
{ "format": 1, "configuration": "StrankaA", "output": "\\\\streznik-a\\apps\\Stranke" }
{ "format": 1, "configuration": "StrankaB", "output": "\\\\streznik-b\\apps\\Stranke" }

Konfiguraciji v projektni datoteki določata način in profil povezave za vsako stranko:

<PropertyGroup Condition="'$(Configuration)' == 'StrankaA'">
  <Accde>true</Accde>
  <AppMode>Production</AppMode>
  <ConnectionProfile>PROD-A</ConnectionProfile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'StrankaB'">
  <Accde>true</Accde>
  <AppMode>Production</AppMode>
  <ConnectionProfile>PROD-B</ConnectionProfile>
</PropertyGroup>

Sorodne teme

sl/wiki/msaccess/sdk/reference/delivery-settings.txt · Zuletzt geändert: von Wolfgang van der Stille