Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
rrepin15
Člen
Avatar
rrepin15:8.9.2015 18:29

Ahoj, ve svém programu mam funkci která smaže adresář. V něm se nacházejí soubory, které tam muj program předtím přesunul. Ale když kliknu na tlačitko smazat tak to nejde, jelikož k nim nemam přistup nebo co. Prostě potřebuju nějak získat "právo" je smazat. Předem dík za odpověď.

void Smazat()
        {
           string path = @"C:\Program Files\mojesoubory\";

            DirectoryInfo path1 = new DirectoryInfo(path);
            DirectoryInfo movies = new DirectoryInfo(path + "movies");
            DirectoryInfo pictures = new DirectoryInfo(path + "pictures");

            foreach (FileInfo file in path1.GetFiles())
            {
                file.Delete();
            }
            foreach (FileInfo file in movies.GetFiles())
            {
                file.Delete();
            }
            foreach (FileInfo file in pictures.GetFiles())
            {
                file.Delete();
            }
            foreach (DirectoryInfo dir in path1.GetDirectories())
            {
                dir.Delete(true);
            }
            Directory.Delete(path);
        }
 
Odpovědět 8.9.2015 18:29
Avatar
Odpovídá na rrepin15
Petr Čech (czubehead):8.9.2015 19:23

Proč máš proboha soubory v program files :-?
Každopádně by to měli jít tak, že spustíš ten program jako správce. Přístup k nim nemáš, protože do pogramfiles si nemůže zapisovat kde co.

Nahoru Odpovědět 8.9.2015 19:23
Why so serious? -Joker
Avatar
rrepin15
Člen
Avatar
Odpovídá na Petr Čech (czubehead)
rrepin15:8.9.2015 19:24

Ono je to v podstaně takové odinstalování :-)

 
Nahoru Odpovědět 8.9.2015 19:24
Avatar
Odpovídá na rrepin15
Michael Škrášek:8.9.2015 20:35

Tak to spusť jako správce ;)
přidej do programu manifest a změň:

<requestedExecutionLevel>

na:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Nahoru Odpovědět  +1 8.9.2015 20:35
I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it ... Bill Gates
Avatar
rrepin15
Člen
Avatar
Odpovídá na Michael Škrášek
rrepin15:9.9.2015 19:07

Furt nefunguje.

 
Nahoru Odpovědět 9.9.2015 19:07
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na rrepin15
Adam Ježek:9.9.2015 19:15

Jestli to je, jak ty říkáš odinstalace, neodinstalovává to náhodou program který je v té složce, tudíž se to pokouší smazat samo sebe?

A definuj nefunguje. Program proběhne a soubory zůstanou, nebo to spadne s nějakou chybou, nebo co?

Nahoru Odpovědět 9.9.2015 19:15
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
rrepin15
Člen
Avatar
Odpovídá na Adam Ježek
rrepin15:9.9.2015 19:23

Ja si dělám vlastní instalaci a to smazání je v případě, když se přeruší kopírování. Jakmile se zruší instalace tak se ukaže messagebox s tlačitky ano a ne jestli se mají smazat soubory, ale jak kliknu na ano tak to vyhodí chybu že to nemá dostatečná práva.

 
Nahoru Odpovědět 9.9.2015 19:23
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na rrepin15
Adam Ježek:9.9.2015 19:58

místo vlastní instalace raději použij Inno nebo programy jemu podobné
http://www.itnetwork.cz/…tup-compiler

Nahoru Odpovědět  +2 9.9.2015 19:58
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
Odpovídá na rrepin15
Michal Štěpánek:9.9.2015 20:59

Při použití InnoSetup si vytvoříš perfektní instalačku, kde si nastavíš potřebná práva na konkrétní složky.

Nahoru Odpovědět  +1 9.9.2015 20:59
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
rrepin15
Člen
Avatar
Odpovídá na Michal Štěpánek
rrepin15:10.9.2015 17:48

Je to pěkný program, avšak jsem si na tom svém dál hodně práce a byl bych nerad kdybych to dělal zbytečně.Potřebuju jen získat přístup k těm souborům.

 
Nahoru Odpovědět 10.9.2015 17:48
Avatar
Milan Křepelka
Redaktor
Avatar
Odpovídá na rrepin15
Milan Křepelka:10.9.2015 19:27

Uvažuješ špatně. Programy mají svoje místo v "user space" kam je doporučeno soubory ukládat. Tam si mohou pracovat, vytvářet, mazat.

To že sis už dal s tím nějakou práci není moc podstatné. Je to jako bys udělal koupelnu a vanu udělal vzhůru hohama a pak řekl, no když já sem si s tím dal toliko práce....jenom se tam nedá tak nějak vykoupat.

Navíc přinutit program aby ukládal někam jinam, nemůže být až tak moc složité, pokud je program alespoň v základu slušně napsaný.

 
Nahoru Odpovědět  +1 10.9.2015 19:27
Avatar
rrepin15
Člen
Avatar
Odpovídá na Milan Křepelka
rrepin15:10.9.2015 20:16

Tak mi alespoň někdo poraďte jak spustím příkazový řádek s příkazem tam vím jak to smazat.

 
Nahoru Odpovědět 10.9.2015 20:16
Avatar
Milan Křepelka
Redaktor
Avatar
Milan Křepelka:10.9.2015 20:34

Komu není radno ....

https://msdn.microsoft.com/…VS.110).aspx

 
Nahoru Odpovědět 10.9.2015 20:34
Avatar
Odpovídá na Milan Křepelka
Ondřej Langr (andysekcze):10.9.2015 20:48

Tomu msdn musí pomoci? :-D

Nahoru Odpovědět 10.9.2015 20:48
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Milan Křepelka
Redaktor
Avatar
Odpovídá na Ondřej Langr (andysekcze)
Milan Křepelka:10.9.2015 21:01

Dáme si qvíz. Když tu konzoli otevře z programu .... smaže ty soubory, když je nesmaže v tím programem? Ja si tedy počkám ...

 
Nahoru Odpovědět 10.9.2015 21:01
Avatar
Odpovídá na Milan Křepelka
Ondřej Langr (andysekcze):10.9.2015 21:14

Sry, teď tě nechápu, buď to zformuj tak aby to pochopil někdo kdo je unaven anebo počkej na to až se prospím. Teď bych s velkou davkou štěstí napsal Hello World ;-) :-D

Nahoru Odpovědět 10.9.2015 21:14
I have a charger. I have Note 7. Umh I haven't Note7.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.