Question

J'ai un projet d'installation pour mon programme C # et ce projet d'installation a une version dans ses propriétés. J'aimerais que cette version soit intégrée au fichier MSI généré afin que je puisse la survoler dans l'explorateur et voir quelle est la version du fichier.

J'utilise VS2008. Comment puis-je faire cela?

Était-ce utile?

La solution

Si vous ajoutez simplement le " Version: 1.5.0 " texte dans la propriété Description du projet d'installation, le numéro de version apparaît également dans le fichier MSI, comme suit:

http://screencast.com/t/A499i6jS

Autres conseils

C'est une bonne question, mais je ne connais aucun outil de configuration capable de le faire. De plus, je n'ai jamais rencontré de fichier MSI contenant la version de fichier ressource . Ce n'est donc pas une pratique courante. Généralement, si je veux connaître la version d’un fichier MSI, je dois l’ouvrir dans Orca et vérifiez la propriété ProductVersion à cet endroit (dans la table des propriétés).

Pour autant que je sache, le fichier MSI n’indiquera jamais sa version. La raison la plus simple est que les fichiers MSI ne sont pas des fichiers PE, mais une sorte de base de données. Msiexec.exe interprète ensuite cette base de données pour effectuer l’installation proprement dite. La propriété de version que vous mentionnez est utilisée en interne par le moteur MSI pour les mises à niveau, les désinstallation, etc. Elle n'est jamais affichée.

Ouvrez le fichier .vdproj associé dans un éditeur de texte. Recherchez le " Produit " section, puis modifiez les expressions "ProductVersion" et "Fabricant". champs.

 "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:"

Je me trompe peut-être, mais la version de msi ne suit-elle pas la version du fichier AssemblyInfo de votre projet de démarrage?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top