2014-02-11 4 views
1

У меня есть exe, который при попытке запустить как администратор показывает имя программы как TestSampleConsoleSign.exe. Это простое консольное приложение с приветственным миром в нем.Измените имя программы exe на UAC

namespace TestSampleConsoleSign 
{ 
    class Program 
    { 
    static void Main(string[] args) 
    { 
     Console.WriteLine("Hello World"); 
     Console.ReadLine(); 
    } 
    } 
} 

Я также изменил поле AssemblyTitle в AssemblyInfo.cs на HelloWorld. Но когда UAC включен, имя программы по-прежнему отображается как TestSampleConsoleSign.exe вместо HelloWorld. Я также попытался Signtool пути создания цифрового сертификата с помощью этого: http://msdn.microsoft.com/en-us/library/ff699202.aspx и подписания моего еха со следующей командой

signtool sign /f test.pfx /p password /d HelloWorld TestSampleConsoleSign.exe 

Я нашел это решение на How change attributes to UAC? Что мне не хватает? Является ли это обязательным? How change attributes to UAC?

+0

Вы не можете самостоятельно подписывать исполняемый файл, вам нужно потратить деньги. –

+0

@ HansPassant. Нет ли другого способа изменить имя программы? – Eve

ответ

2

Сначала я подтверждаю, что изменение AssemblyTitle в AssemblyInfo.cs является правильным местом. Обратите внимание, что это поле отображается как Описание файла на странице сведений о свойствах проводника Windows. Возможно, вы хотите дважды проверить, появляется ли там AssemblyTitle, только чтобы убедиться, что вы действительно вызвали пересоединение.

Затем я попытался запустить консольное приложение, как у вас с различными сертификатами и произошло следующее:

  • Self-созданный сертификат (как у вас): UAC показывает имя исполняемого файла программы.
  • «Официальный» сертификат с доверенным корневым центром сертификации: UAC показывает описание файла (AssemblyTitle)

Забавный хотя: даже если я изменить имя исполняемого файла на что-то, содержащее «Setup», диалоговое окно UAC не было показано , Для отображения диалогового окна UAC мне нужно было проверить галочку «Запуск от имени администратора». Запуск администратора может быть вашим по умолчанию, если вы включили файл app.manifest с таким параметром.

+0

Я изменил настройку UAC для целей тестирования, и, как вы упомянули, я щелкнул правой кнопкой мыши и выполнил выполнение в качестве администратора. Похоже, что @HansPassant упомянул, что нет никакого способа отобразить пользовательское имя в UAC. Он должен иметь официальный сертификат, как вы сказали – Eve

Смежные вопросы