UAC - How to specify application name (managed)

S

SugarDaddy

This pertains to .NET apps.

I managed to get the UAC process pretty much understood. I create the
uac.manifest file, the .rc file and generate the .RES file for my
applications. I use the project properties to specify the .RES file.
I also use signtool to sign the executable with my organization's code-
signing certificate. It all works great. Instead of the "Allow/
Cancel" UAC dialog, I get the "Continue/Cancel" UAC dialog, so I'm
happy with that.

So, on the "Continue/Cancel" UAC dialog, in general it shows the
application name and the organization below it. However, on my
managed applications it shows a weird .tmp name and my organization.
How do I get it to show the application name instead of the ugly .tmp
name?

For example. I wrote a little Registry test file that uses UAC. It's
called RegistryTest.exe. After implementing all the UAC stuff
explained above and specifying "requireAdministrator" in the
uac.manifest, the UAC dialog pops up showing the application name as:
"RegBFA6.tmp". Well basically it shows "Reg[4-digit hex].tmp". Why
is this? How do I fix it? I've seen how to do it for unmanaged apps,
but I don't know how to translate it to managed apps.
 
M

Mr. Arnold

SugarDaddy said:
This pertains to .NET apps.

I managed to get the UAC process pretty much understood. I create the
uac.manifest file, the .rc file and generate the .RES file for my
applications. I use the project properties to specify the .RES file.
I also use signtool to sign the executable with my organization's code-
signing certificate. It all works great. Instead of the "Allow/
Cancel" UAC dialog, I get the "Continue/Cancel" UAC dialog, so I'm
happy with that.

So, on the "Continue/Cancel" UAC dialog, in general it shows the
application name and the organization below it. However, on my
managed applications it shows a weird .tmp name and my organization.
How do I get it to show the application name instead of the ugly .tmp
name?

For example. I wrote a little Registry test file that uses UAC. It's
called RegistryTest.exe. After implementing all the UAC stuff
explained above and specifying "requireAdministrator" in the
uac.manifest, the UAC dialog pops up showing the application name as:
"RegBFA6.tmp". Well basically it shows "Reg[4-digit hex].tmp". Why
is this? How do I fix it? I've seen how to do it for unmanaged apps,
but I don't know how to translate it to managed apps.

I suggest you post to a MS.Public.dotnet NG, as Vista questions are being
posted in them.
 
S

SugarDaddy

SugarDaddy

Microsoft has a free forum, staffed by Microsoft developers who answer these
questions everyday. You can access them here:

MSDN Forums:http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=24&SiteID=1

Thanks for the response. Unfortunately, this question was already
asked in the MSDN forums and has no answer:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1542029&SiteID=1

The <assemblyIdentity> element in the uac.manifest seems to have no
effect on signed or unsigned assemblies.
 
S

SugarDaddy

Thanks for the response. Unfortunately, this question was already
asked in the MSDN forums and has no answer:http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1542029&SiteID=1

The <assemblyIdentity> element in the uac.manifest seems to have no
effect on signed or unsigned assemblies.

Thanks to Matt on MSDN forums for this solution:

Simply specify the /d switch on signtool to specify the application
name. (I could have sworn I scoured the signtool documentation for
something like this... oh well). So the command in the post-build
step might look something like this:

"$(DevEnvDir)..\Tools\Bin\signtool.exe" sign /n "Name of My
Authenticode Cert in the Store" /t http://timestamp.verisign.com/scripts/timestamp.dll
/d "My Application Name" "$(TargetPath)"
 

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