Problem with manifest file

F

fig000

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 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
 
G

Guest

I think you misunderstood what the requestedExecutionLevel attribute is for.
When you set it to requireAdministrator you are telling the OS that this
application must be elevated and therefore you force the elevation prompt.

If your app really needs admin privileges for everything it does, then that
is the correct way to write the manifest. If the app requires admin privs
only for a few things, or if you can factor the things that do require admin
privs in that way, then set the manifest to asInvoker and then use a COM
Moniker to elevate only the pieces you need.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top