Barvna shema: Svetla
Trenutno dejavna stran: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Bootstrapper » WKL Bootstrapper: namestitev in zagon aplikacij Access brez skrbniških pravic

WKL Bootstrapper: namestitev in zagon aplikacij Access brez skrbniških pravic

WKL Bootstrapper vsakemu uporabniku prinese novo izdajo aplikacije, ne da bi uporabnik potreboval skrbniške pravice in ne da bi moral kdo obiskati vsak računalnik. Uporabnik zažene eno datoteko EXE. Ta v njegov profil namesti različico, ki jo je izdal založnik, zanj registrira vse, kar različica potrebuje, in jo zažene. Namenjen je aplikacijam Access, zgrajenim s komponentami knjižnice WKL Forms Object Library, na enak način pa zažene tudi kateri koli drug program ali dokument.

Izdelek se imenuje Bootstrapper, njegov program je Wkl.Bootstrapper.exe, dokumentacija pa ga na kratko imenuje zaganjalnik (Starter), ker uporabnik vidi prav to: zaganja aplikacijo.

Do izdaje 2.3.1 se je izdelek imenoval WKL Access Bootstrapper, do izdaje 2.4.1 pa se je njegov program imenoval Wkl.Access.Bootstrapper.exe. Mapa, v kateri je program še pod tem imenom, deluje naprej: če zaganjalnik ni naveden, se uporabi Wkl.Bootstrapper.exe, če ga ni, pa program s prejšnjim imenom.

Podprta konfiguracija: Windows 11 z 32- ali 64-bitnim programom Microsoft Access (Microsoft 365). Windows 10 in računalniki, ki programe v uporabnikovem profilu omejujejo z AppLockerjem ali s funkcijo Windows Defender Application Control, v tej različici niso podprti. Česa zaganjalnik sploh ne počne, opisuje razdelek Omejitve.

Stanje brez zaganjalnika

Aplikacija Access, s katero dela uporabnik, je datoteka front-end: podatkovna zbirka z obrazci, poročili in kodo, ki dostopa do podatkov v skupni zaledni podatkovni zbirki. Vsak uporabnik dela s svojo kopijo. Microsoft priporoča razdeljeno podatkovno zbirko, v kateri vsak uporabnik dostopa do podatkov prek lokalne kopije datoteke front-end: po omrežju se tako prenašajo le podatki, poškodba datoteke pa običajno prizadene samo kopijo, ki jo je imel uporabnik odprto (Microsoft: razdelitev podatkovne zbirke Access).

Kopija sama pa še ni vse, kar aplikacija potrebuje. Ob vsaki izdaji je treba:

  • zamenjati kopijo pri vsakem uporabniku, čeprav jo imajo nekateri še odprto;
  • registrirati komponente knjižnice WKL Forms Object Library (ali druge komponente ActiveX in COM) v isti 32- ali 64-bitni različici, kot jo ima nameščeni Office;
  • mapo nastaviti kot zaupanja vredno mesto, sicer Access kode ne izvaja;
  • zagotoviti gonilnike ODBC, vire podatkov in izvajalno okolje .NET.

Ročno to pomeni obisk pri vsakem računalniku, običajno s skrbniškimi pravicami. Pomanjkljive izdaje ni mogoče preprosto umakniti, pozneje pa nihče ne ve, kaj je bilo kje nameščeno.

Zakaj običajne tehnologije za uvajanje tega ne pokrijejo

TehnologijaKaj pokrijeZakaj tu ne zadošča
Windows Installer (MSI)Popolno namestitev s popravilom in odstranitvijoMicrosoft navaja, da uvajanje z Windows Installerjem zahteva skrbniška dovoljenja in le omejeno dopušča namestitev s strani uporabnika (ClickOnce deployment and security); vsaka izdaja je nov paket, ki ga mora uvesti oddelek IT
ClickOnceNamestitev za posameznega uporabnika brez skrbniških pravic, posodobitve iz skupne rabe ali s spletnega strežnikaObjavlja aplikacije Windows Presentation Foundation in Windows Forms, konzolne aplikacije in rešitve za Office (ista stran); aplikacija Access ni nič od tega
Web Platform InstallerNameščanje izdelkov iz kataloga v spletnem viruOpuščen: posodobitve izdelkov so se končale 1. julija 2022, spletni vir pa je bil odstranjen 31. decembra 2022 (ekipa IIS)
Skripti za kopiranje ob prijaviKopiranje datoteke front-endBrez registracije za 32- in 64-bitni Office, brez zaupanja vrednega mesta, brez vrnitve na prejšnje stanje, brez zapisa o tem, kaj je bilo nameščeno

Kaj se spremeni z zaganjalnikom

Zaganjalnik združuje model ClickOnce (za posameznega uporabnika, brez skrbniških pravic, posodobitve iz založnikovega vira) s temeljitostjo Windows Installerja (zapis vsake datoteke in vsake vrednosti v registru, štetje uporab skupnih komponent, povrnitev ob napaki, odstranitev v Aplikacijah). Oddelek IT enkrat namesti samo zaganjalnik; vsaka poznejša izdaja pride do uporabnikov prek njega.

PoložajZ zaganjalnikom
Nova izdaja aplikacije za 200 uporabnikovZaložnik izdajo shrani v izvorno mapo; vsak uporabnik jo dobi ob naslednjem zagonu. Različica, ki je v uporabi, se nikoli ne prepiše, saj ima vsaka različica svojo mapo.
Aplikacija uporablja komponente knjižnice WKL Forms Object LibraryKomponente se namestijo in registrirajo za uporabnika, v isti 32- ali 64-bitni različici, kot jo ima Office; različice, ki jih uporabljajo druge aplikacije, ostanejo.
Aplikacija potrebuje gonilnik ODBC, vir podatkov ali izvajalno okolje .NETTi deli se namestijo za uporabnika brez skrbniških pravic, njihova uporaba pa se šteje, zato si jih lahko deli več aplikacij.
Namestitev se prekine na pol potiVsak korak se razveljavi; namestitev, ki jo je prekinil izklop računalnika, se povrne ob naslednjem zagonu.
Izdaja je pomanjkljivaPrejšnja izdaja ostane nameščena in jo je mogoče zagnati iz okna z nastavitvami.
Uporabnikova kopija je poškodovana/repair jo obnovi iz nameščene izdaje.
Skupna raba ni dosegljivaZažene se nameščena različica; posodobitev počaka na naslednji zagon.
Nameščati se smejo samo izdaje založnikaČe projektna datoteka vsebuje založnikov ključ za izdaje, zaganjalnik zavrne vsako izdajo brez veljavnega podpisa.
Aplikacijo je treba odstranitiPrikazana je v Nastavitvah sistema Windows › Aplikacije, kjer jo lahko odstranite, ali pa jo odstranite z ukazom /uninstall; skupni deli ostanejo, dokler jih uporablja druga aplikacija.

Kako deluje

graph TD
    U["Uporabnik zažene Wkl.Bootstrapper.exe"] --> P["Branje projektne datoteke (bootstrapper.json ali datoteka, ki jo navaja /RUNCFG)"]
    P --> S["Razrešitev glede na vir (datoteke, različica, register, cilj zagona)"]
    S -- "vir ni dosegljiv ali izdaja ni zaupanja vredna" --> I["Zagon nameščene različice"]
    S --> C["Preverjanje pogojev (Access, .NET, ODBC, datoteke, register, programi)"]
    C -- "niso izpolnjeni" --> E["Okno z napako, kodo in diagnostiko"]
    C --> T
    subgraph TX["Ena transakcija"]
        T["Namestitev različice: datoteke, komponente, gonilniki, register, vrste datotek, bližnjice, INI, zaupanja vredno mesto, vnos v Aplikacijah, dejanja afterInstall"]
        J[("installer.db - dnevnik vsakega koraka")]
        T -- "zabeleži vsak korak" --> J
    end
    T -- "korak ne uspe" --> R["Razveljavitev vseh korakov v obratnem vrstnem redu"]
    T --> K["Odstranitev različic nad keepVersions"]
    K --> G["Zagon cilja (program, dokument prek vrste datoteke ali Access s podatkovno zbirko)"]
  • Projektna datoteka (bootstrapper.json poleg datoteke EXE ali druga datoteka .json v isti mapi, ki jo navedete z /RUNCFG <file>): kaj zaganjalnik namesti in zažene – datoteke, vrednosti v registru, bližnjice, vrste datotek, datoteko INI, dejanja, pogoje in cilj zagona. Specifikacija: Projektna datoteka (format 2).
  • Vir (izdaja): mapa ali skupna raba, v katero založnik shranjuje izdaje. Zaganjalnik iz nje samo bere in vanjo nikoli ne piše.
  • Različica: vsaka izdana različica dobi v uporabnikovem profilu svojo mapo; datoteke v njej se zapišejo enkrat in se nikoli ne zamenjajo.
  • Skupne komponente: komponente knjižnice WKL Forms Object Library, gonilniki ODBC, zasebno izvajalno okolje .NET in drugi deli zunaj mape različice se hranijo ločeno po svojih različicah, njihova uporaba pa se šteje po različicah izdelkov; ostanejo, dokler jih potrebuje kateri koli uporabnikov izdelek.
  • Podatkovna zbirka namestitvenega programa (%LOCALAPPDATA%\WKL\Installer\installer.db, ena na uporabnika): zapis vsakega izdelka, različice, komponente in sredstva ter dnevnik namestitve, ki je v teku.
  • Kode: vsak zagon se konča s kodo – 0 zagnano; 1x konfiguracija, 2x Access, 3x predpogoji, 4x namestitev, 5x zaupanje, 6x zagon. Ista številka se pojavi v oknu z napako, v diagnostiki in kot izhodna koda.

Vse se zapiše v uporabnikove mape in pod HKEY_CURRENT_USER; zaganjalnik nikoli ne zahteva povišanih pravic. Podrobnosti: Namestitveni program.

Kje začeti

Zaganjalnik ima tri vrste bralcev in vsaka ima svojo pot.

Založnik: izdaja aplikacije

Aplikacijo razvijate in jo želite spraviti na računalnike uporabnikov.

  1. Projektno datoteko napišite iz predlog: Ustvarjanje projekta iz predlog.
  2. Določite, kaj naj zaganjalnik namesti in zažene: aplikacijo Access po navodilih Razdeljevanje aplikacije uporabnikom z zaganjalnikom, kateri koli drug program pa po navodilih Zagon poljubnega programa z zaganjalnikom.
  3. Datoteko preverite z ukazom Wkl.Bootstrapper.exe /check <file> in jo preizkusite z ukazom /whatif <file>, ki poroča o vsakem preverjanju in o tem, kaj bi zagon namestil, ne da bi karkoli spremenil.

Projektno datoteko lahko urejate tudi v programu WKL Bootstrapper Manager, ločeni aplikaciji Access, ki izvaja enaka preverjanja in zgradi paket MSI; opisuje ga uporabniški priročnik v dokumentaciji programa WKL Bootstrapper Manager.

Oddelek IT: enkratna namestitev zaganjalnika

Upravljate računalnike in odločate, kaj se sme namestiti. Zaganjalnik za nobeno izdajo ne potrebuje skrbniških pravic. Enkrat se namesti samo zaganjalnik, in sicer kot paket Windows Installer, zgrajen iz projektne datoteke: Uvajanje zaganjalnika s paketom MSI. Kaj zaganjalnik zapiše v računalnik, navaja stran Namestitveni program.

Skrbnik aplikacije: nemoteno delovanje

Za eno aplikacijo skrbite v imenu njenih uporabnikov.

  • /settings odpre okno z nastavitvami: ali je aplikacijo mogoče zagnati, nameščene različice (zagon prejšnje, ponovno kopiranje, odstranitev starih), registracija komponent, diagnostika, dnevnik in vnosi projektne datoteke, ki jih sme spreminjati skrbnik aplikacije.
  • /diagnose (/diagnose /json) poroča, kaj bi zagon našel, ne da bi karkoli spremenil; /list (/list /json) prikaže nameščene različice in komponente s številom njihovih uporabnikov.
  • /repair namesti, kar manjka, ne da bi aplikacijo zagnal; /uninstall odstrani izdelek.
  • Dnevnik je v %LOCALAPPDATA%\WKL\<product>\Logs\bootstrapper.log.
  • Neuspel zagon prikaže kodo; na strani Kode napak zaganjalnika ima vsaka koda svojo stran z vzrokom in rešitvijo.

Vsi ukazi in izhodne kode: Namestitveni program.

Omejitve

  • Zaganjalnik ne namesti ničesar, kar zahteva skrbniške pravice: nobenih gonilnikov za ves sistem, nobenega okolja Access Runtime, nobenih registracij za ves računalnik. To so predpogoji, za katere poskrbi oddelek IT; zaganjalnik jih preveri in manjkajoče sporoči z ustrezno kodo.
  • Aplikacije ne gradi; aplikacija Access se gradi z WKL Office SDK.
  • Dva zaganjalnika istega uporabnika sistema Windows, ki nameščata hkrati, se med seboj ne uskladita; zaženite ju enega za drugim.
  • Vir prek protokola HTTP ali HTTPS ni podprt; vir je mapa ali skupna raba.
  • Podpis izdaje ne zajema programov, ki jih zaganjajo actions; kaj vse podpis ne zajema, opisuje razdelek Podpisane izdaje.

Prehod s prejšnjega zaganjalnika

Pomembno samo, če uporabnike že oskrbuje prejšnji zaganjalnik.

Sorodne teme

  • Projektna datoteka (format 2) – vsi vnosi, ograde, dejanja in pogoji
  • Namestitveni program – transakcija, štetje, pravilo različic, ukazi, podatkovna zbirka namestitvenega programa
  • Varnost in obveznosti proizvajalca – prijava ranljivosti, obveznosti po aktu o kibernetski odpornosti in do subjektov NIS 2, pot do skladnosti
  • tools\Export-ComRegistration.ps1 v mapi paketa različice na založnikovem računalniku zajame registracijo strežnika COM kot registration.json; zaganjalnik jo zapiše za uporabnika, namesto da bi zagnal strežnikovo lastno registracijo.
sl/wiki/msaccess/bootstrapper/overview.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille