我有一个exe,当试图以管理员身份运行时,程序名称显示为TestSampleConsoleSign.exe。它是一个简单的控制台应用程序,里面有hello world。
namespace TestSampleConsoleSign
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
Console.ReadLine();
}
}
}
我还将AssemblyInfo.cs中的AssemblyTitle字段更改为HelloWorld。但是当启用UAC时,程序名称仍显示为TestSampleConsoleSign.exe而不是HelloWorld。我还尝试使用以下方法创建数字证书:http://msdn.microsoft.com/en-us/library/ff699202.aspx并使用以下命令对我的exe进行签名
signtool sign /f test.pfx /p password /d HelloWorld TestSampleConsoleSign.exe
我在How change attributes to UAC?找到了这个解决方案我错过了什么?这是强制性的 - How change attributes to UAC?
答案 0 :(得分:2)
首先,我确认在AssemblyInfo.cs中更改AssemblyTitle
是正确的位置。请注意,此字段在Windows资源管理器的属性详细信息页面中显示为文件描述。也许你想仔细检查你的AssemblyTitle是否出现在那里,只是为了确保你真的触发了重建。
然后我尝试使用不同的证书运行像你这样的控制台应用程序,并发生以下情况:
有趣的是:即使我将可执行文件名更改为包含“Setup”的内容,也未显示UAC对话框。要显示UAC对话框,我必须选中“以管理员身份运行”复选标记。如果您已包含具有此类设置的app.manifest文件,则以管理员身份运行可能是您的默认设置。