Re: Problem with manifest file under vista basic home
- From: "Woodie M" <woodie7@xxxxxxxxxxx>
- Date: Wed, 2 May 2007 08:32:34 -0400
"fig000" <neilnewton001@xxxxxxxxx> wrote in message news:1178046629.742831.165050@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi,
I'm getting my feet wet with Vista. Some of our users are running
vista home basic. I've looked at some posts and come up with a
manifest file to give our app Administrator privilages at run time.
The app seems to work okay if we check the "run as administrator"
checkbox in the exe's compatibility tab. But we don't want our users
to have to do that, hence the desire to distribute the app with a
manifest file that will take care of the problem.
What happens when the app runs with the manifest present in the exe
directory (we haven't embedded it in the exe yet) is that we get a
message telling us that "The requested operation requires elevation".
This is what it's supposed to do - even if you right-click and select 'Run as admin' instead of using a manifest file and even if the user is logged on to Windows as a user with admin rights. Vista won't give an app admin privelidges without prompting the user first. If the user is logged on as admin, they just have to click OK. If they're a non-admin they will have to provide an admin logon-password. Now, here's a possible catch: When the user is not an admin user but a program runs as administrator and the user provides the admin password for elevation, because of UAC the now admin-elevated program actually runs as the admin user - not the standard user that granted elevation. This means when the app uses the api to find the location of for instance the 'My documents' folder, it will be accessing the 'My documents' folder of the admin user account, not the standard user that granted the elevated privelidges.
I'm no expert here either, but I've done a bit of work with my apps on this and think (someone correct me if I'm wrong) I have begun to get a handle on it finally.
-Woodie
This happens if I set uiAccess to true OR false. I don't know if
there's some step I've missed or if the manifest file is wrong. Here
it is:
?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">
<assemblyIdentity
processorArchitecture="x86"
version="5.6.0.0"
type="win32"
name="myapp.exe"/>
<description>App Description</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Any help would be appreciated.
Thanks,
Fig
.
- Follow-Ups:
- References:
- Problem with manifest file under vista basic home
- From: fig000
- Problem with manifest file under vista basic home
- Prev by Date: Re: cFolder class recurse level control?
- Next by Date: Re: shell for default internet browser
- Previous by thread: Re: Problem with manifest file under vista basic home
- Next by thread: Re: Problem with manifest file under vista basic home
- Index(es):
Relevant Pages
|