Právě je neděle 05. září 2010, 07:23

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: čtvrtek 13. květen 2010, 11:53 
Offline
Pokročilý
Pokročilý
Uživatelský avatar

Registrován: sobota 09. únor 2008, 20:53
Příspěvky: 482
Bydliště: Olomouc
Uz to nebudu predelavat:o) Ale priste zkusim Inno Setup, o kterem jsi psal tutorial zde.

_________________
http://www.dotnetcesky.blogspot.com - C#, kde knihy nestačí.


Nahoru
 Profil E-mail  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: čtvrtek 13. květen 2010, 12:55 
Offline
Nováček
Nováček

Registrován: pondělí 29. březen 2010, 13:15
Příspěvky: 26
Bydliště: Dubai & Jihlava
To je jasne, urcite budes mit jeden Setup.exe u klienta a ten vyresi co je treba.
Ale predpokladam ze i aplikace bu mit jeden .exe (a urcite muze byt i vic) a k tomu x souboru dll, a ostatni co bude treba.

Muj maly pokus je ze jak budes pouzivat Application.CommonAppDataPath tak bez ohledu na instalace, tak ten Path otevre podle Assamply ne ze vsech projektu ale jen z projektu ktery vytvaruje EXE .

Osobne moc Ti do to ho kecat nebudu :-) ja malo kdy delam instalace nekomu, protoze moje prace posledni dobu je na Database, a na serveru.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: čtvrtek 13. květen 2010, 13:02 
Offline
Pokročilý
Pokročilý
Uživatelský avatar

Registrován: sobota 09. únor 2008, 20:53
Příspěvky: 482
Bydliště: Olomouc
Nevim, jestli se chapeme. Nicmene, mne se prave nehodi cesta, odkud je spusteny exe soubor. Protoze ten je defaultne nainstalovan do Program Files, ktere jsou Read-Only, takze nic v teto slozce a jejich podslozkach nemuzu prepisovat. Pokud bych potreboval cestu na misto, kde je spusteny exe soubor, tak bych to ale zase nedelal podle informaci v souboru assembly, ale pomoci property Application.ExecutablePath.

_________________
http://www.dotnetcesky.blogspot.com - C#, kde knihy nestačí.


Nahoru
 Profil E-mail  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: čtvrtek 13. květen 2010, 14:35 
Offline
Nováček
Nováček

Registrován: pondělí 29. březen 2010, 13:15
Příspěvky: 26
Bydliště: Dubai & Jihlava
Spis se myslim ze kazdy mluvi o necim jinim. tak aby ctenari nemely (v cetne my) tak dovol te abych to vysvetlil vsechno na jednou a od zacatku.

1- na hradisku mam slozku Program Files, takhle ma byt v normalni situace Read-Only. proto se tam dava aplikace a vsechny soubory kolem ni cos jsou jen Read-Only. a proto nemuze se tam dat zadny soubory ktere se ma v nej psat, jako database.
Cesta v C:\Program Files pokracuje takhle "C:\Program Files\Company Name\Application Name", Company Name a Application Name se urci v Instalacni projektu jak na priklad v Visual Studio . a jak jsi ted rikal EXE najdes pomoci Application.ExecutablePath. nebo i jinym spusobem.
2- Ve Windows mame slozky nazivaji se Profile a ve Windows XP josu na Path "C:\Documents and Setting\<uzivatel>" v tym najdeme "Application Data" a ostatni. tahle slozka slouzy jednotlivym uzivatelu (co Ti taky neni vhodne) ale existuje taky uzivatel jmenem "All Users" ktere je verejny pro vsech uzivatelu.

v nase aplikace nemusime moc premyslet jak se dostat k skoukromny profile nebo verejnypod jmenem All Users, a kde hodit nase souboru ktere budou slouzit jako database staci kdys treba pouzivame Application.CommonAppDataPath a ta nam ukaze kde je cesta kde muzem vytvorit svuj verejny database.
Application.CommonAppDataPath ukazuje cestu ve forme (priklad z Windows XP) :
C:\Documents and Settings\All Users\Application Data\<Firma>\<Jmeno Aplikace>\<verze>

Kdys se rekneme ze Jmeno Firmy je "Nase Firma Ltd." , Jmeno Aplikace je "Muj Program" a verze "2.5.1.0"
v Assamply musime myt tohle :
Kód:

[assembly: AssemblyCompany("Nase Firma Ltd")]
[assembly: AssemblyProduct("Muj Program")]
[assembly: AssemblyFileVersion("2.5.1.0")]



V kodu aby jsme vedely kde mame database tak napisem neco jako tohle

Kód:

            string DataPath;
            DataPath = Application.CommonAppDataPath + "\\Data.mdb";




A data budeme mit tadhle :

C:\Documents and Settings\All Users\Application Data\Nase Firma Ltd\Muj Program\2.5.1.0

Myslim se az ted se chapeme.

Ale ja ted nevim jestli v projektu jsme mely uz vytvoreny databasovy soubor jak pres instalace se da hodit primo do "C:\Documents and Settings\All Users\Application Data\Nase Firma Ltd\Muj Program\2.5.1.0" . ted nemam na pocitaci Visual Studio mam jen Visual Studio Express . tak nevim .

Jestli se v necim milim tak prosime uprav mi.

Dik.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: čtvrtek 13. květen 2010, 15:14 
Offline
Pokročilý
Pokročilý
Uživatelský avatar

Registrován: sobota 09. únor 2008, 20:53
Příspěvky: 482
Bydliště: Olomouc
Jo, tak to jsme si rozumeli spravne. V tom pripade je chyba v tom installeru. Standardne, kdyz potrebujes v installeru pridat dalsi slozky, tak ti nabidne nektere specialni slozky (Desktop, Global Assembly Cache Folder, Program Files apod.) a nebo moznost vlastniho adresare. Ale nenabidne ti prave specialni slozku Common Application Data (proc to tak je, netusim). Proto jsem ji podle rady pridal takto:
1. Pridal jsem vlastni slozku
2. Nastavil jsem ji jmeno
3. Nastavil jsem ji Default Location takto: [CommonAppDataFolder]
4. Nastavil jsem ji Property: COMMONAPPDATAFOLDER

Tim jsem ji nasmeroval do C:\ProgramData.
Pridal jsem do ni podslozku s nazvem aplikace a do ni uz muj databazovy soubor.

Takze ten soubor ted je na miste "C:\ProgramData\[Nazev aplikace]\[nazev db souboru]".
Problem je, ze kdyz programove pristoupim k CommonAppData, tak mi vrati "C:\ProgramData\[Nazev firmy]\[Nazev aplikace][Verze]. Takze mi ty dve cesty nesedi.

Problem tedy vyresim, kdyz v installeru pridam podslozky tak, aby ta cesta byla spravna podle CommonAppData.

_________________
http://www.dotnetcesky.blogspot.com - C#, kde knihy nestačí.


Nahoru
 Profil E-mail  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: neděle 16. květen 2010, 13:38 
Offline
Nováček
Nováček

Registrován: pondělí 29. březen 2010, 13:15
Příspěvky: 26
Bydliště: Dubai & Jihlava
Prima ja jsem vcera si taky k tom sednul ale nedosel jsem tak daleko jak Ty :-)

Ale snad Ti pomuze tohle misto CommonAppDataPath
Kód:
       public string AppDataPath
        {
            get
            {
                return Environment.GetEnvironmentVariable("ALLUSERSPROFILE") + "\\" + Application.CompanyName + "\\" + Application.ProductName;
            }
        }


Cislo verze by mi zavazala ;-)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: neděle 16. květen 2010, 13:47 
Offline
Pokročilý
Pokročilý
Uživatelský avatar

Registrován: sobota 09. únor 2008, 20:53
Příspěvky: 482
Bydliště: Olomouc
Super, udelam to podle tebe, taky mi tam vadila ta verze hlavne. Tim to povazuju za vyresene. Diky

_________________
http://www.dotnetcesky.blogspot.com - C#, kde knihy nestačí.


Nahoru
 Profil E-mail  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: čtvrtek 27. květen 2010, 13:01 
Offline
Pokročilý
Pokročilý
Uživatelský avatar

Registrován: sobota 09. únor 2008, 20:53
Příspěvky: 482
Bydliště: Olomouc
Tak security problem pretrvava. Na vyvojovem PC mam slozku CommonAppData (skryta slozka ProgramData ve Windows Vista a Windows 7) s pravy read-write. Resp. kdyz nainstaluju svou aplikaci, tak soubory, ktere do teto slozky umistim muzu cist i zapisovat, ale na notebooku ne. Tam mohu jen zapisovat.

Muze mi nekdo prosim poradit, jak pri instalaci (pouzivam Microsoft Visual Studio Installer - Setup Wizard projekt) nastavim, abych mel pravo zapisovat do konkretniho souboru? Nebo jak to udelat jakkoliv jinak, ale jeste pred instalaci. Tak aby nemusel neco rucne menit uzivatel.

Nekde radili, ze se daji zmenit nejake informace v instalacnim souboru msi pomoci softwaru ORCA. Ale nenasel jsem prislusne polozky, ktere se maji menit.

_________________
http://www.dotnetcesky.blogspot.com - C#, kde knihy nestačí.


Nahoru
 Profil E-mail  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: čtvrtek 27. květen 2010, 21:55 
Offline
Pokročilý
Pokročilý

Registrován: čtvrtek 09. červenec 2009, 15:41
Příspěvky: 427
Mne to jede dle ocekavani. Zapisovatelny soubor se nainstaluje a bez problemu do nej zapisu... Testoval jsem to na WXP, WVista i W7... Jako admin i jako omezeny uzivatel. Vse pri implicitnim nastaveni Setup projektu.

Jsi si jisty, ze je soubor readonly (podle souboroveho systemu, ne podle .NETu)? Vyzaduje Tva aplikace FullTrust (code security)? Nektera umisteni nejsou bez FullTrust k dispozici (nektera tusim ani s FullTrust bez CASPol upravy).

Kdyz uz Ti ten ms installer dela takove potize, proste pouzij jiny... Uz to resis dlouho.

Zkousel sis udelat jen nejakou mikro aplikacku se Setup projektem a testem pro zapis do souboru?
Treba zkus ten zapisovatelny soubor nainstalovat do Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) s atributem hidden.

_________________
How many Microsoft developers does it take to change a light bulb? None, they just change the standard to darkness.
Obrázek
Having a Cup<T> somewhere...


Nahoru
 Profil E-mail  
 
 Předmět příspěvku: Re: Security problém
OdeslatNapsal: pátek 28. květen 2010, 14:45 
Offline
Pokročilý
Pokročilý
Uživatelský avatar

Registrován: sobota 09. únor 2008, 20:53
Příspěvky: 482
Bydliště: Olomouc
Nakonec jsem to vzdal a ulozil soubor do user local settings. Po uprave manifest souboru to bez problemu fungovalo ve Windows 7. V XPckach jsem ovsem nebyl schopny to rozchodit. Kdyz to ulozim do local settings (coz je blbost pro databazovej soubor), tak to funguje, takze to ted uz neresim, protoze potrebuju vyresit jeste nejaky hardwarovy veci.

_________________
http://www.dotnetcesky.blogspot.com - C#, kde knihy nestačí.


Nahoru
 Profil E-mail  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 20 ]  Přejít na stránku Předchozí  1, 2

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přeskočit na:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Český překlad – phpBB.cz

Google Pagerank - www.dotnetforum.czGoogle Pagerank S-Rank - www.dotnetforum.czS-Rank JyxoRank - www.dotnetforum.czJyxoRank


Valid XHTML 1.0 Transitional