Instalace software - pro jednoho nebo všechny uživatele
Ahojte,
není mi úplně jasný způsob, jakým se instalují programy na PC (Win 10), kde je více uživatelských účtů. Mohou nastat tři případy:
1) program se na nic neptá a nainstaluje se pouze v aktivním profilu
2) program se na nic neptá a nainstaluje se pro všechny uživatele PC (All users)
3) program se slušně zeptá, jestli se má nainstalovat jen pro aktivního uživatele nebo pro všechny
Dá se to nějak ovlivnit? Ručně přetáhnout zástupce programu na společnou plochu? To by asi nemuselo vždy fungovat (přístupová práva, zápisy do registrů). Nebo naopak, když není žádoucí, aby se program nainstaloval všem, lze to?
Díky za názor.
U programů, kde jsem to zkoumal se na nějaká přístupová práva vůbec nehrálo. Ta volba v drtivé většině případů ovlivňovala jenom to, kam se umístí zástupci té aplikace.
Ale to bylo v době, kdy se ještě aplikace neinstalovaly do profilu a prakticky všechny byly v Program Files.
Někdy se ti SW nainstaluje přímo do tvojeho profilu (dokumentu třeba) a pak ho máš skutečně jenom ty...
"Ale o tom zde už dobrou čtvrt hodinu hovoříme, Mlho."
Otázka zněla, jestli to lze nějak změnit nebo jak umožnit nainstalovat program jinému uživateli?
2) all users - takto se v minulosti instalovaly všechny programy do program files. zástupce dal instalátor buď do all users, nebo jen instalatérovi na plochu, nebo nikam, podle fantazie výrobce.
nevýhodou bylo uložené nastavení v program files nebo hklm, když měl uživatel omezená práva. změna (povolení/zakázání) je možná právě s využitím práv.
1) jen user bez ptaní - ze známějších programů to snad od začátku využíval chrome, že se nacpal do appdata. (program files využívaly jen firemní verze)
plná práva i pro omezeného uživatele nad nastavením, taky to ulehčovalo šíření virů.
3) instalace podle dotazu - vlastně ani nevím, jestli instalační wizard měnil cílový adresář pro celý sw, nebo jen zástupce a uložení nastavení do appdata / program files. nikdy jsem tak neinstaloval žádného ze správců souborů.
ale program jednou umístěný v appdata typicky nepůjde spustit jiným uživatelem kvůli právům, taky může vadit chybějící nastavení - sám to zmiňuješ.
dokonce to nemusí fungovat i v případě, že je na pc několik uživatelů (profilů) a všichni jsou admoši.
umístění sw do appdata nesnáším.
Díky za podrobný rozbor. Snažím se vyčíst mezi řádky nějaké řešení, ale marně. Asi teda neexistuje?
.exe programy záleží na vůli programátora.
.msi balíky sice počítají s parametry, jenže i tak nemusí obsahovat volbu instalačního adresáře.
jednodušší než řešit nějakou dekompilaci může být prosté zkopírování rozbaleného sw, dokopírování nastavení, zástupců, případnou asociaci apod. do registrů podle nějakého vzoru.
záleží na složitosti konfigurace toho sw krámu, jestli má smysl s tím ztrácet čas.
Především jsou 2 "druhy" programů: klasické desktopové a "moderní" UWP.
Ty první se instalují (jedenkrát) do Program Files a zástupce alternativně uživatelům (lze přidat i těm, kteří ho nedostali). Nastavení bývá individuální, ale ne vždy.
Ty druhé se instalují do uživ. profilu, každému uživ. extra.
No...... ano.
Takže nějaká univerzální rada (řešení) neexistuje? Teprve po instalaci zjišťovat, co a kam se nainstalovalo? A jak ověřit funkčnost v jiném profilu?
Ne.
Proč bych to zjišťoval ??? Je to dané předem ...
U klasického desktopového programu to záleží na autorovi, jak udělá instalaci, volba pro všechny/aktuálního je ale stejně jen formalita (zástupce si mohu vytvořit sám). Jediný problém může být nastavení (pokud není individuální).
UWP jsou vždy pro konkrétního uživatele a jiný si to musí nainstalovat znova.
Je to dané předem, jenom se neví jak.
Takže musíš zjistit, jestli se ten zástupce udělal a pokud ne, ručně ho přidat. A stejně netušíš, jestli to bude fungovat, hm.
A když nemá práva? Nebo to prostě neumí?
Ví se to Ty UWP se instalují ze Store "per user", ty desktop z .exe či .msi "per machine".
Fungovat to bude ...
... A když nemá práva? Nebo to prostě neumí?
Proč by je neměl ??? Když to neumí, má smůlu musí někomu říct (ale je to jen pár kliknutí ve Store).
O Store jsem nic nepsal, podobným obludnostem se vyhýbám.
Proč by uživatel neměl práva něco instalovat? Nebo proč toho není schopen? Tys nikdy nepracoval v nějaké větší firmě nebo neřešil uživatelskou podporu, že jo?
Store je pro W10 zásadní
Jinak, ve firmě by nejspíš uživatel neměl instalovat nic ... od toho tam je správce (běžná "desktop" instalace ani jinak udělat nejde). Speciálně pro firemní prostředí jsou .msi instalačky. Ale jsou i firmy, kde mají uživatelé značnou volnost (třeba programátoři).
Nějak mi uniká, o co ti vlastně jde.
No asi jediná rada k tomu je kouknout se po commandline přepínačích, které toto mohou řešit - ať už instalaci na uživatele, nebo do konkrétního adresáře dle výběru toho kterého soudruha. Záleží bohužel zas jen na programátorovi, jestli tyto přepínače umožňuje a které.
To by bylo ideální, bohužel se obávám, že dnešní klikací instalátory v drtivé většině s přepínači nepočítají...
No minimálně .msi na přepínače reagují pořád, nejjednodušší, jak to zjistit, je buď zkusit google "programXXX_setup.exe command line installation" nebo si ho rovnou v cmd spustit s /? nebo /h, on pak přecejenom něco o sobě vyzvrátí
Máš pravdu. A navíc instalátor (typicky třeba Chrome) pokud zjistí, že nemá admin práva, tak se nainstaluje do profilu, aby se uživateli vnutil za každou cenu.
Zástupce je pak v profilu pro všechny uživatele nebo v konkrétním uživatelském profilu, přesunout jej můžeš dle libosti.
Uživatelská data se pak ukládají v profilu v obou případech
Závísí to na konkrétním programu. Takže odpověď na tvou otázku Dá se to nějak ovlivnit? je někdy ano někdy ne, nějak nechápu proč se na to ptáš, to je snad každému jasné, ne?
Jestli jsi nemyslel programy, u kterých to předpokládám nejde (třeba nějaký klasický antivir), tak instalovat program přece nemusíš instalátorem, který používá pro instalaci konkrétní program, ale instalaci si můžeš provést sám jak chceš bez původního instalátoru programu, takže v tom případě to obecně jde a toto je jedna z možností, jak to řešit.
OK, možná jsem hloupě formuloval otázku. Ale ostatní pochopili, o co mi jde.
Úmyslně jsem neuváděl nějaké konkrétní názvy programů, protože mi šlo o obecné (univerzální) řešení.
Tvoji větu, že nemusím program instalovat instalátorem, jsem nepochopil. Když autor nabízí program jako klasickou EXE instalačku ABC_Setup.exe, tak nevím, jak bych mohl instalaci "provést sám jak chci".
Obecné univerzální řešení jsem ti napsal v předchozím příspěvku, konkrétně je to druhý odstavec.
Co se týče toho, co jsi nepochopil, tak pokud autor nabízí program jako instalačku v podobě exe, tak prostě zjistíš co je to za exe. Například pokud se jedná o inno setup instalátor (často používaný, např. jej používá MPC-HC), tak prostě to exe dekompiluješ pomocí innounp a získáš tím soubory programu a instalační skript (obvykle není problém, pokud tam není Pascal), který můžeš upravit (pokud pude provést úprava, kterou potřebuješ) a poté zkompilovat pomocí inno setup. Nebo si místo toho třeba uděláš cmd instalátor (jako kopírování souborů, zápisy v registru atd.) nebo použiješ cokoliv jiného na instalaci. Pokud se jedná o něco, co dekompilovat nejde, tak ten program prostě nainstaluješ do prostředí (třeba ve virtuálce), do kterého jej chceš instalovat, a ty prostředí před a po instalaci porovnáš, získáš tím to, co provádí instalátor a to pak můžeš provádět sám způsobem jaký chceš. To máš jen něco, prostě se musí postupovat konrétně podle toho, oč se jedná.
Uplne nerozumim, na co se vlastne ptas? Preci je zrejme, ze za instalator je zodpovedny vyvojar aplikace a jak si to vymysli, tak to je. UWP aplikace pak stoji trochu bokem, protoze ty jsou debilni vzdycky, tam neni nad cim dumat.
V zasade, pokud se program umi zeptat, kam ho chces nainstalovat, tak je multiuzivatelsky,samotny program jde nainstalovat libovolne a konfigy bud da do AppData kazdeho uzivatele zvlast nebo je konfig jednotny pro vsechny uzivatele a to bud v ProgramData nebo musis zpristupnis uzivatelum slozku, do ktere se jednotny konfig uklada, coz typicky nastavalo driv, ze byl konfig v Program Files. Osobne ale neznam zadny aktualni program, ktery by neumel vyuzit pro settings AppData uzivatelu, pokud je zadouci, aby si ho kazdy uzivatel nastavoval sam. Pokud je zadouci, aby meli vsichni uzivatele stejne nastaveni, potom je settings typicky v ProgramData.
Pokud se ptas, jak to poznat dopredu, tak se bud zeptas vyvojare nebo snad ma nejaky manual.
No a proti tomu stoji programy, ktere se neptaji na vyber slozky pro instalaci a ty se naserou do AppData. To pritom nemusi byt zdaleka jen idiotske UWP, ale i bezne aplikace, typicky treba Discord. S temito programy, ktere jsou pro kazdeho uzivatele zvlast se jednoduse nekamaradim ja a jak na neco takoveho prijdu, okamzite instalaci prerusim nebo to hned zase odinstaluju a hotovo.
https://halzen.ru/sk/case/kak-vytashchit-iz-exe-fail-bin-avtomaticheskie-raspakovshchiki.html
Nemam tuseni, co tim chces rict, navic to neni ani od zapadnich imperialistu, ale od nejakych lidovych komunistickych milicionaru, takze na to radsi ani neklikam.
Je to záležitosť toho,kto vytvára inštalačný balík,v installshield/wise installer sa dá určiť ako sa v default režime bude správať inštalátor v systeme,používateľ toto chovanie neovplyvni dodatočne,dodatočne sa to dá jedine u msi installeru cez msi sdk,kde sa dá celý msi balíček prebaliť do nového msi súboru a zadať nové možnosti resp.permissions inštalácie -aktivovať možnosti buď admins ,autentificated user alebo everyone a podľa toho sa inštalátor aj správa, inštaluje bez obmedzení alebo sa opýta na možnosti inštalovať pre práve prihláseného užívateľa alebo odoprie prácu s tým,že bežný užívateľ nemá dostatočne práva a inštalácia prebehne len s admin právami…