El mensaje de UAC muestra un nombre de progtwig aleatorio temporal para msi, ¿se puede mostrar el nombre correcto?

Estoy construyendo un instalador MSI para Windows y firmo el instalador usando signtool. Cuando ejecuto el .msi para probarlo, aparece el mensaje UAC (Control de cuenta de usuario) para preguntarme si deseo permitir que la instalación continúe. Está bien, pero el mensaje muestra una cantidad de campos, y para el campo Nombre del progtwig muestra algo así como “403b3.msi”. Este no es el nombre del msi que estoy ejecutando.

¿Cómo puedo obtener el nombre del progtwig correcto para que se muestre?

Utilice el argumento de línea de comando / d con el nombre del progtwig requerido al ejecutar signtool para firmar el msi.

Parece que el instalador de Windows crea una copia temporal del archivo msi y le asigna un nombre generado antes de ejecutarlo. Si no usa / d con signtool, verá el nombre de archivo temporal que no es muy útil para sus usuarios.

esta es una versión aplicada del comentario de @ Scott-langham.

esto fue directamente del PostBuildEvent de un proyecto de instalador visual studio – archivo VDPROJ

set signtool="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" set timestampurl=http://timestamp.digicert.com set certpath="$(ProjectDir)CodeSigningCert.pfx" :: Setup in your user environment variables :: using something with low sort order to force off screen ZZCODECERTPASSWORD if []==[%ZZCODECERTPASSWORD%] ( echo must set code signing certificate in ZZCODECERTPASSWORD environment variable. stopping build. exit /b 2 ) :: need the filename with extension that is being generated FOR /f %%i IN ("$(BuiltOuputPath)") DO ( SET outputfilename=%%~nxi ) %signtool% sign /t %timestampurl% /f %certpath% /p %CODECERTPW% /d %outputfilename% "$(BuiltOuputPath)" IF ERRORLEVEL 1 ( echo failed to sign MSI exit /b 3 ) %signtool% sign /t %timestampurl% /f %certpath% /p %CODECERTPW% "$(ProjectDir)$(Configuration)\Setup.exe" IF ERRORLEVEL 1 ( echo failed to sign boostrap setup EXE exit /b 4 )