Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Bootstrapper » Referenca » Nastavitve namestitvenega programa (<name>.msi.json)

Nastavitve namestitvenega programa (<name>.msi.json)

Nastavitve namestitvenega programa opisujejo paket Windows Installer (MSI), ki ga oddelek IT namesti enkrat in ki zaganjalnik namesti v računalnik: podatke paketa, ali namešča za ves računalnik, za posameznega uporabnika ali oboje, pogovorna okna, ki jih vidi oseba, ki namešča, in njihova besedila v posameznih jezikih. Datoteka je poleg projektne datoteke in se bere samo ob gradnji paketa MSI; zaganjalnik je ob zagonu nikoli ne bere in z izdajo nikoli ne pride v računalnike uporabnikov.

Zahteva: WKL Bootstrapper 2.3.0 ali novejši. /check datoteko preveri, /msi-sources iz nje zapiše izvorne datoteke WiX, tools/New-StarterMsi.ps1 pa zgradi pakete.

Kje je datoteka

Datoteka je poimenovana po projektni datoteki in je v isti mapi:

Projektna datotekaNastavitve namestitvenega programa
demo.bootstrapper.json (projektna datoteka, poimenovana po demo.exe)demo.msi.json
bootstrapper.jsonbootstrapper.msi.json
blagajna.json (navedena z /RUNCFG)blagajna.msi.json

Poti v datoteki (ikona, licenca, pasica, slika pogovornega okna, fragmenti) so relativne glede na njeno mapo in iz nje ne smejo voditi (..).

Kaj se zgradi

tools\New-StarterMsi.ps1 -Project <project file> zgradi en paket za vsak obseg in jezik:

NastavitvePaketi
Ni <name>.msi.json<product>-<version>.msi: za računalnik, v angleščini, brez pogovornih oken – enak paket kot pred različico 2.3.0
En obseg, en jezik<product>-<version>.msi
Več obsegov ali jezikov<product>-<version>-<scope>-<culture>.msi, na primer Demo-1.2.0-user-de-DE.msi

Izvorne datoteke WiX ostanejo v <output folder>\<product>.wix (machine.wxs, user.wxs, ui.wxs, ena datoteka .wxl za vsako kulturo), kjer jih lahko pregledate ali ročno zgradite; -SourcesOnly zapiše samo njih. Paket za računalnik ohrani kodo za nadgradnjo paketov, zgrajenih pred različico 2.3.0, zato nov paket zamenja starega; paket za uporabnika ima svojo kodo, zato se paketa nikoli ne zamenjata med seboj.

Kaj paket naredi in česa ne

Paket namesti zaganjalnik, njegovo projektno datoteko, datoteko INI z vrednostmi iz pogovornih oken in logotip ter ustvari bližnjice. Vse, kar se izvaja za posameznega uporabnika – kopiranje aplikacije, komponente, zaupanja vredno mesto, zagon –, ostane naloga zaganjalnika ob vsakem zagonu (glejte Namestitveni program). Vrednosti, vnesene na lastni strani, se zapišejo v datoteko INI poleg zaganjalnika, od koder jih bere aplikacija; zaganjalnik jih ne obdeluje.

Primer

{
  "format": 1,
  "package": { "name": "Demo", "manufacturer": "Contoso", "license": "installer\\license.rtf", "banner": "installer\\banner.png" },
  "scopes": [ "machine", "user" ],
  "shortcuts": { "startMenu": true, "desktop": true },
  "languages": [ "de-DE", "en-US" ],
  "texts": { "de-DE": { "WelcomeDlgTitle": "Willkommen bei Demo" } },
  "dialogs": { "install": [ "welcome", "license", "folder", "page:server", "verify" ], "exit": { "launch": true } },
  "pages": [
    { "id": "server", "title": { "de-DE": "Datendienst", "en-US": "Data service" }, "description": "URL",
      "controls": [
        { "type": "text", "label": "Where the application finds its data." },
        { "type": "edit", "property": "SERVER", "label": "URL", "default": "https://", "required": true, "maxLength": 200 },
        { "type": "radio", "property": "MODE", "label": "Mode", "default": "live",
          "options": [ { "value": "live", "text": "Live" }, { "value": "test", "text": "Test" } ] }
      ] }
  ],
  // The values go to demo.ini beside demo.exe, section [Settings].
  "ini": { "section": "Settings" },
  "fragments": [ "installer\\extra.wxs" ]
}

Komentarji (//) in vejice na koncu so dovoljeni. Neznane ključe gradnja zavrne, zato napačno zapisan ključ nikoli ne privede do paketa, ki mu brez opozorila manjka pogovorno okno.

Kako vrednosti pridejo do aplikacije

  • Vsaka vrednost z lastne strani se zapiše v datoteko INI poleg zaganjalnika (demo.ini poleg demo.exe, razdelek [Settings]): KEY=value, potrditveno polje kot 1 ali 0. Datoteko bere aplikacija, zaganjalnik pa ne. Da aplikacija izve, kje je datoteka, ji pot sporočite v start.environment projekta, na primer "WKL_SETTINGS": "[StarterDir]\[StarterName].ini" (glejte Projektna datoteka); aplikacija prebere Environ("WKL_SETTINGS").
  • Oddelek IT lahko vsako vrednost nastavi brez pogovornih oken, v ukazni vrstici z imenom lastnosti: msiexec /i Demo-1.2.0-machine-de-DE.msi /qn SERVER=https://data.company.com MODE=test LOGGING=0. 0 počisti potrditveno polje.
  • Vrednosti se shranijo (HKEY_LOCAL_MACHINE za računalnik, HKEY_CURRENT_USER za uporabnika, ključ Software\WKL\Starter\<product>\Settings). Poznejši ukaz „Spremeni“ v pogovornem oknu za vzdrževanje ali v Aplikacijah začne s temi vrednostmi in datoteko INI zapiše znova; popravilo jih ohrani.
  • Vrstni red: vrednost iz ukazne vrstice ima prednost pred shranjeno, shranjena pa pred privzeto.

Besedila v več jezikih

Vsako besedilo, ki ga bere oseba, ki namešča (title, description, label, hint, text možnosti, launchText), je zapisano bodisi kot en niz, ki velja za vse jezike, bodisi kot objekt z enim nizom za vsako kulturo:

"title": "Server"
"title": { "de-DE": "Datendienst", "en-US": "Data service" }

Kultura brez lastnega besedila uporabi niz za vse jezike; če ga ni, ostane besedilo prazno.

Ključi

KljučPrivzetoPomen
format-Vedno 1.
package.namedisplay.name iz projektne datotekeIme v Aplikacijah in v pogovornih oknih.
package.manufacturerdisplay.publisher iz projektne datotekeZaložnik.
package.versionrazličica izdelka zaganjalnikaDve ali tri števila; Windows Installer primerja samo prva tri.
package.upgradeCodeGUID, izpeljan iz imena izdelka in obsegaKoda za nadgradnjo; privzeta vrednost ostane pri vseh gradnjah enaka. Nastavite jo samo, če prevzemate paket, ki je bil zgrajen prej.
package.iconbrezDatoteka .ico za vnos v Aplikacijah.
package.licensebrezDatoteka .rtf, ki jo prikaže pogovorno okno license.
package.bannerpasica WiX.bmp ali .png, 493 × 58 slikovnih pik, na vrhu pogovornih oken.
package.dialogImageslika WiX.bmp ali .png, 493 × 312 slikovnih pik, v pozdravnem in zaključnem pogovornem oknu.
scopes[ "machine" ]machine (za računalnik; oddelek IT namešča s skrbniškimi pravicami), user (za uporabnika, brez skrbniških pravic) ali oboje. En paket za vsak obseg, vsak s svojo kodo za nadgradnjo.
installFolder.machine[ProgramFilesFolder]WKL\<product>Namestitvena mapa za računalnik: [ProgramFilesFolder] ali [CommonAppDataFolder], nato pot pod njo. Pogovorno okno folder osebi, ki namešča, dovoli izbrati drugo.
installFolder.user[LocalAppDataFolder]Programs\WKL\<product>Namestitvena mapa za uporabnika: [LocalAppDataFolder] ali [AppDataFolder], nato pot pod njo.
shortcuts.startMenutrueBližnjica v meniju Start (pri namestitvi za računalnik za vse uporabnike, pri namestitvi za uporabnika za tega uporabnika).
shortcuts.desktopfalseBližnjica na namizju.
shortcuts.namepackage.nameIme bližnjic.
languages[ "en-US" ]Kulture, za katere se paket zgradi: en-US, de-DE, sl-SI, hr-HR, it-IT. Prva je privzeta.
textsbrezBesedila standardnih pogovornih oken, ki jih želite zamenjati, za vsako kulturo: ID lokalizacije WiX (na primer WelcomeDlgTitle) in besedilo, zapisano tako, kot ga zapiše WiX: [Name] je lastnost, {\WixUI_Font_Title} pisava. Samo kulture iz languages.
dialogs.install[ "welcome", "verify" ]Pogovorna okna namestitve po vrsti: najprej welcome, nato license, folder in page:<id> v poljubnem vrstnem redu, na koncu verify. Napredek in zaključno pogovorno okno vedno sledita.
dialogs.changeShowsPagestrueUkaz „Spremeni“ v pogovornem oknu za vzdrževanje znova vodi skozi lastne strani, zato je njihove vrednosti mogoče pozneje spremeniti.
dialogs.exit.launchfalsePotrditveno polje v zaključnem pogovornem oknu, ki po novi namestitvi zažene zaganjalnik.
dialogs.exit.launchText„<name> jetzt starten“ v nemškem paketu, sicer „Start <name>“Besedilo tega potrditvenega polja.
pagesbrezLastne strani (glejte spodaj).
ini.file<starter name>.iniIme datoteke INI poleg zaganjalnika (demo.ini poleg demo.exe).
ini.sectionSettingsRazdelek, v katerega se zapišejo vrednosti.
fragmentsbrezIzvorne datoteke WiX (.wxs) založnika, vključene v gradnjo. Gradnja se samodejno sklicuje na vsako komponento, skupino komponent, lastnost, uporabniški vmesnik in dejanje po meri, ki jih fragment definira neposredno v elementu <Fragment>, zato zadošča, da datoteko navedete.

Lastne strani

Lastna stran se prikaže v okviru standardnih pogovornih oken (pasica z naslovom in opisom, Nazaj/Naprej/Prekliči) in vsebuje kontrolnike od zgoraj navzdol.

Ključ straniPomen
idČrke in števke, na začetku črka, enolično; prikaže se s page:<id> v dialogs.install.
titleNaslov v pasici (obvezno).
descriptionVrstica pod naslovom.
controlsKontrolniki (vsaj eden).
Ključ kontrolnikaPomen
typetext (odstavek), edit, checkbox, radio, combo ali folder (pot, vnesena v polje za urejanje; pogovorno okno za brskanje je v Windows Installerju namenjeno samo namestitveni mapi).
propertyJavna lastnost, ki hrani vrednost: velike črke, števke in _, na začetku črka. Oddelek IT jo lahko nastavi v ukazni vrstici (msiexec /i demo.msi SERVER=https://...). Ne velja za text.
labelOznaka nad kontrolnikom; za text sam odstavek; za checkbox besedilo poleg polja. Oglati oklepaji se prikažejo, kot so zapisani.
hintNamig pod kontrolnikom v manjši pisavi.
defaultVrednost, preden jo oseba, ki namešča, spremeni; za checkbox 1 ali prazno, za radio in combo ena od možnosti.
requiredtrue: gumb Naprej ostane onemogočen, dokler je vrednost prazna.
maxLengthNajdaljša vrednost za edit; 0 za neomejeno.
optionsMožnosti za radio in combo: value (shranjena) in text (prikazana).
iniKeyKljuč v datoteki INI; prazno za ime lastnosti.

Pravila

Zaganjalnik ta pravila preveri z ukazom /check <name>.msi.json (izhodna koda 0 veljavno, 11 težave; /json navede vsako težavo za Bootstrapper Manager). Za vsako težavo je navedeno kršeno pravilo in to, kar ga krši:

  • scopes navaja machine in/ali user, vsakega enkrat.
  • dialogs.install se začne z welcome in konča z verify, vsakim enkrat, in nobenega standardnega pogovornega okna ne prikaže dvakrat: oseba, ki namešča, potrdi, preden se karkoli spremeni.
  • installFolder se začne s standardno mapo svojega obsega (glejte ključe) in ima pot pod njo.
  • Vsaka stran iz pages je prikazana v dialogs.install, vsak page:<id> pa navaja obstoječo stran.
  • license v dialogs.install zahteva package.license.
  • Lastnosti so zapisane z velikimi črkami in uporabljene enkrat.
  • Lastnost ali ključ INI, ki je videti kot geslo (pass, pwd, secret, token, kennwort), je zavrnjen: datoteko INI poleg zaganjalnika lahko bere vsak uporabnik računalnika. Gesla in ključi sodijo v prijavo, ki jo ima aplikacija sama.
  • Privzeta vrednost za radio in combo je ena od možnosti; privzeta vrednost za checkbox je 1 ali prazno.
  • maxLength velja samo za edit.
  • languages navaja samo kulture s seznama; texts samo kulture iz languages.
  • package.version sta dve ali tri števila, package.upgradeCode je GUID.
  • Datoteke imajo pravo končnico (.ico, .rtf, .bmp/.png, .wxs), so relativne in brez ..; če je datoteka veljavna, /check navede tudi vsako datoteko, ki manjka poleg nje.
  • ini.file je samo ime datoteke s končnico .ini; ini.section je brez oglatih oklepajev.
  • Neznani ključi so zavrnjeni.
  • Gradnja izvornih datotek (/msi-sources) zavrne lastno stran, katere kontrolniki v katerem koli jeziku ne gredo v pogovorno okno, in navede, koliko enot pogovornega okna stran potrebuje. Razdelite jo na dve strani ali skrajšajte besedila.

Sorodne teme

sl/wiki/msaccess/bootstrapper/reference/msi-settings.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille