UAC - How to specify application name (managed)

  • Thread starter Thread starter SugarDaddy
  • Start date Start date
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.
 
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.
 
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.
 
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)"
 
Back
Top