【问题标题】:Windows Vista UAC displays the code signed application name incorrectlyWindows Vista UAC 错误地显示代码签名的应用程序名称
【发布时间】:2012-08-24 09:59:55
【问题描述】:

我使用以下代码对我的 Installer/Uninstaller.exe 进行了代码签名:

signtool sign  /f "mycert.pfx"   /p Westell1  /t   http://timestamp.verisign.com/scripts/timstamp.dll "Installer.exe"

代码签名后,当我尝试在 Windows Vista 32/64 位系统上运行 Installer.exe 时,UAC 屏幕未正确显示应用程序名称(“Installer.exe”)。它将应用程序名称显示为“Insf3e3.tmp”。

提前感谢您的帮助

【问题讨论】:

    标签: windows windows-vista code-signing


    【解决方案1】:

    UAC 显示的文本不是文件名,而是可执行文件版本资源中的 FileDescription 字段。

    如果您自己构建 Installer.exe,则需要在 .rc 文件中添加合适的版本资源:

    VS_VERSION_INFO VERSIONINFO
    ...
                VALUE "FileDescription", "My Application"
    

    如果 Installer.exe 来自安装构建器,您需要在构建安装器时查看如何设置该字符串。例如,使用 InnoSetup 你会说:

    [Setup]
    VersionInfoDescription=My Application
    

    【讨论】:

    • 感谢 RichieHindle,我们正在构建安装程序,我会检查一下。
    • 我们正在使用 Bitrock 安装程序。在进行代码签名时需要传递一个参数 -d 以及代码签名命令以显示应用程序名称。
    猜你喜欢
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 2013-02-15
    • 2012-12-17
    • 1970-01-01
    • 2016-04-19
    • 2015-04-17
    • 2011-11-25
    相关资源
    最近更新 更多