Szia,
On 2010.05.11. 7:04, Info.StaTOR wrote:
> A programomat nem sikerül W7 alá installálhatóvá tenni.
Lehet, hogy én nem értem, de nekem úgy tűnik, hogy XP alá sem.
> Tartalmaz egy C++Builder 2006 alatt XP-n fordított exe-t, két dll-et, és
> e könyvtár alatt egy alkönyvtárban adatokat.
Ha az alkönyvtárban lévő adatokat nem csak olvasod, hanem írod is, akkor
annak jobb helye lenne az Application Data könyvtárban inkább a
felhasználó profiljában ahelyett, hogy a Program Files-ban jogokat adnál
a felhasználónak. Az nem hiba és a nem véletlen műve, hogy oda nincs
írás joga a felhasználónak, direkt így tervezték, hogy ne legyen.
Biztonsági okokból.
> 1. Ha az XP-nél szokásos helyre (Program Files) installálom mindenféle
> engedély beállítás nélkül, akkor nem tudja a program az alkönyvtárban
> lévő adat file-okat helyesen használni.
Pontosan mit jelent az, hogy "nem tudja helyesen használni"? Mert ilyen
hibaüzenetet én még nem láttam. :)
> 2. ISTool-ban Permissions: authusers-full jogokat adva a file-oknak sem
> sikerül normálisan elérni ezeket a file-okat, nem működik jól a program.
Hát láttam már karón varjút, de "nem működik jól a program" hibaüzenetet
sem láttam még eddig.
> 3. Kézzel Full jogokat adva az alkönyvtárra sem működik jól a program,
> szemmel láthatóan file kezelési gondjai vannak (hozzáfűzés?, írás?)
Hát, hogy ezek közül pontosan mi nem megy és miért, azt a programozó
fogja tudni. Konzultálj vele szerintem.
> Hová szokás W7 alatt programot installálni, hová szokás tenni a program
> által használt adat file-okat (nem az user számára elérhető adat
> file-okra gondolok).
Ha nem olyan fájlokra gondolsz, akkor itt szintén elvesztettem a fonalat. :)
> Milyen jogokat kell beállítani, hogy minden menjen?
Elvileg semmilyen jogot nem kell állítani, ha mindent annak megfelelően
csinálsz, ahogyan a Windowst tervezték.
A Program Files-hoz normál felhasználónak csak olvasási joga van -
direkt - ezen nem is célszerű változtatni. Ez nem Win7 újdonság, ez már
NT4-óta így van, sok sok sok éve. Az NT/Windows2000/WindowsXP a
telepítéskor létrehozott felhasználónak rendszergazda jogosultságokat
ad, és ez az ami változott, hogy a Vista/Windows7 esetén a telepítéskor
létrehozott felhasználó normál felhasználó és nem rendszergazda.
NT/2000/XP esetén a normál felhasználó pontosan úgy viselkedik, mint
Vista/Win7 esetén. A Default ACL-ekben nem sok eltérés van a Windows
verziók között.
Tehát ha ha XP esetén normál felhasználóként futtatva a programodat jól
működik, akkor elvileg Vista és Windows 7 esetén is jó lesz, feltéve,
hogy nem drótoztad be a profil (Application Data) és egyéb könyvtárak
(pl. Program Files) útvonalát a szoftveredbe, hanem ezeket mindig
lekérdezed a Shell-től.
A Vista-ban megjelent UAC alapesetben nem érinti a szoftveredet, csak ha
olyan funkciókat építenél az alkalmazásodba mint pl. automatikus
frissítés, de ekkor is viszonylag egyszerűen leküzdhető.
Mivel a Program Files normál felhasználó számára csak olvasható, ezért
az alkalmazás telepítése NT/2000/XP esetén egy másik felhasználó,
általában a rendszergazda nevében történik. Ezért még akkor is, ha
felhasználó profiljában tárolod az írható adatfájlokat, akkor sem
célszerű ezeket a telepítővel a helyükre tenni, mert NT/2000/XP esetén
ezek így a rendszergazda profiljába fognak kerülni és nem a megfelelő
felhasználó profiljába.
Ezeket az adatfájlokat célszerű inkább a szoftver első indításakor
létrehozni, mert így (ha nem rontod el a telepítőt) mindig a megfelelő
felhasználó profiljába kerülnek. Ezért szintén nem praktikus az a
gyakorlat amit egyes telepítő programok gyakran alkalmaznak, hogy a
telepítés végén lehetőséget adnak a program azonnali elindítására. Ha a
felhasználó él ezzel a lehetőséggel, akkor ugye a telepítő szoftver
jogosultságával fog elindulni a almkalmazás (azaz pl. rendszergazdaként)
és így szintén nem kívánt felhasználó profiljában fogja létrehozni az
adatokat az első futáskor. Bár Vista/Win7 esetén az UAC miatt nem
változik meg a felhasználó, ott sem célszerű emelt szintű jogosultsággal
indítani az alkalmazást első alkalommal a telepítés végén.
Windows 2000
http://msdn.microsoft.com/en-us/library/ms995853%28v=MSDN.10%29.aspx
Windows XP
http://technet.microsoft.com/en-us/library/bb490855.aspx
Változások az XP-hez képest a Vista/W7-ben
http://msdn.microsoft.com/en-us/library/bb757005.aspx
Windows 2000 Default ACLs
http://webcache.googleusercontent.com/search?q=cache:eGOOp6pfvEUJ:windows.stanford.edu/docs/SecDefs.doc&client=firefox-a
Windows XP Default ACLs
http://www.microsoft.com/downloads/details.aspx?FamilyID=60CE1EF5-8D6D-49A0-8EB5-4E362CDE75E7&displaylang=en&displaylang=en
stb.
Sok sikert, fog az menni! :)
Üdv,
Zoltán.