Pregunta

Tengo un proyecto de configuración para mi programa C #, y este proyecto de configuración tiene una Versión en sus propiedades. Me gustaría que el archivo MSI que se genera tenga esta versión incrustada en él, para que pueda pasar el mouse sobre él en el explorador y ver qué versión es el archivo.

Estoy usando VS2008. ¿Cómo puedo hacer esto?

¿Fue útil?

Solución

Si simplemente agrega la " Versión: 1.5.0 " texto en la propiedad Descripción del Proyecto de instalación, el número de versión también se muestra en el archivo MSI de la siguiente manera:

http://screencast.com/t/A499i6jS

Otros consejos

Esa es una buena pregunta, pero no conozco ninguna herramienta de configuración que pueda hacer eso. Además, nunca encontré un archivo MSI con la versión de archivo resource incrustada en él, por lo que no es una práctica común. Por lo general, si quiero encontrar la versión de un archivo MSI, tengo que abrirlo en Orca y compruebe la propiedad ProductVersion allí (en la tabla de propiedades).

Hasta donde yo sé, el archivo MSI nunca mostrará la versión. La razón simple es que los archivos MSI no son archivos PE, son una especie de base de datos. Msiexec.exe interpreta esta base de datos para realizar la instalación real. La propiedad de versión que menciona es utilizada internamente por el motor MSI para actualizaciones, desinstalaciones, etc. y nunca se muestra.

Abra el archivo .vdproj asociado en un editor de texto. Busque el " Producto " luego modifique la "Versión del producto" y el "Fabricante" campos.

 "Product"
    {
    "Name" = "8:Microsoft Visual Studio"
    "ProductName" = "8:tidAxCleanupScript"
    "ProductCode" = "8:{0949AAAD-2C29-415E-851C-825C74C9CA81}"
    "PackageCode" = "8:{8F012EF1-D5D0-43DC-BBFD-761A639DDB07}"
    "UpgradeCode" = "8:{38DE1949-0782-4EF3-BDC2-080EB5B73EF8}"
    "RestartWWWService" = "11:FALSE"
    "RemovePreviousVersions" = "11:TRUE"
    "DetectNewerInstalledVersion" = "11:TRUE"
    "InstallAllUsers" = "11:FALSE"
    "ProductVersion" = "8:**1.5.0**"
    "Manufacturer" = "8:**Default Company Name**"
    "ARPHELPTELEPHONE" = "8:"

Podría estar equivocado, pero ¿la versión msi no sigue la versión en el archivo AssemblyInfo de su proyecto de inicio?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top