Diskusní fóra - Téma

Otázka - zodpovězená Téma: UAC

RSS Feed RSS Feed

Diskusní fóra > Visual Basic .NET (2005, 2008, 2010) > UAC

UAC

Datum: 3.9.2010 15:27
Autor: neregistrovaný (78.98.82.203)
Hodnocení autora: není
Příspěvků: 0
Dobrý deň. Pri testovaní aplikácie na Windows 7 Ultimate (Final so všetkými Update aj s nainštalovaným Visual Studio 2010 Ultimate a s .NET Framework 4.0) som narazil na problém pri "registrovaní" aplikácie do systému a to pomocou suborového systému a registrou. Vo windows XP mi vporiadku zapíše súbor (konkrétne jadro programu do System32) a zapíše do CurrentVerison\Run položku aby sa pri každom štarte spustilo jadro ,ktoré slúži ako TrayIcon a je prispôsobené aby malo nulové zaťaženie procesoru a pamäte.

Problém je ,že UAC mi odopre prístup nielen do System32 ,ale aj do StartUp zložky ... a to už nehovorím o registroch.

Asi nebude moc dobré snažiť sa obísť túto ochranu (čo mi príde aj dosť ťažké a možno aj nemožné ,lebo neprebehne žiadny kód kím to nepovolí užívatel) a bol by som velmi vdačný ak by mi niekto poradil či neexistuje niaký klúč v registroch ktorý sa dá editovať ,tak aby slúžil ako CurrentVersion\Run na spúšťanie súborov pri štarte. Skúšal som aj WinLogon ,ale všetko je pod UAC.

Predom dakujem za odpovede.

PS: ak nikoho nenapadá múdre riešenie ,tak precalen podstúpim aj niake drastické ak je možné ...
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Příspěvek odpovídá na otázku Re: UAC

Datum: 3.9.2010 17:20
Autor: Tomáš Herceg
Hodnocení autora: 1660
Příspěvků: 3533
Změňte manifest tak, aby vaše aplikace vyžadovala zvýšená práva. Při spuštění se automaticky objeví okno UAC a po odkliknutí se aplikace spustí se zvýšeným oprávněním.

Anebo tyhle věci řeště v instalátoru, což je doporučovaný postup. A do system32 byste taky nic dávat neměl, on k tomu obvykle není důvod.
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Re: UAC

Datum: 3.9.2010 17:56
Autor: neregistrovaný (78.98.82.203)
Hodnocení autora: není
Příspěvků: 0
Ano ,manifest som už skúšal ,len som chcel dosiahnuť to aby sa nezobrazovalo nič. OK vyskúšam Inno Setup ,ktorý mi poradil pán Ondřej Linhart.

Dakujem
 
           [Odpovědět]
 
Hodnocení: 0 Čekejte, prosím...

Příspěvek odpovídá na otázku Re: UAC

Datum: 3.9.2010 17:34
Autor: Ondřej Linhart
Hodnocení autora: 1132
Příspěvků: 2389
Tak především aplikace nemá co pohledávat ve složce system32, ale v Program Files, nebo Program Files (x86). Pokud chcete spouštět aplikaci pomocí klíče Run v registru, vytvořte instalátor, který toto zajistí a který bude vyžadovat spuštění s oprávněním správce (Administrators). Doporučuji Inno Setup.

Jinak ten manifest by měl být v aplikace také (ve VB.NET 2010 se dá změnit ve vlastnostech projektu, karta Application, View Windows Settings) a podstatný je tento řádek:

<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
 
Říká, že aplikace chce běžet pod maximálním oprávněním dostupným pro aktuálního uživatele. Pokud je v aplikaci něco, co vyžaduje administrátorská práva, potom highestAvailable nahraďte parametrem requiresAdministrator.
 
           [Odpovědět]
 
Hodnocení: -1 Čekejte, prosím...
 

VBNET.CZ | © 2007 Tomáš Herceg, Tomáš Jecha | Kopírování a přejímání jakéhokoliv obsahu z tohoto webu je bez písemného svolení autorů zakázáno.