Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2007
    Messages : 204
    Points : 58
    Points
    58

    Par défaut Donner un numéro de version à mon projet

    Bonjour à tous,

    J'utilise Visual Studio 2010 Express C++, et je n'arrive pas à trouver comment :

    - Attribuer un numéro de version à mon projet;
    - Activer l'incrémentation automatique du numéro de version de build.

    Pour ce qui est de l'incrémentation automatique, peut-être n'est-ce pas disponible sur la version Express?
    Mais il devrait au moins y avoir un moyen de préciser un numéro de version, car mon exécutable de ma release n'en a pas.

    PS: Mon projet est un projet console Win32 et ne possède pas de fichier AssemblyInfo.cs.

    Merci d'avance,
    Clément.

  2. #2
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 618
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 618
    Points : 3 397
    Points
    3 397

    Par défaut

    Click droit sur le projet puis "propriétés". Dans "Assembly Information" tu as le numéro de version.

    Tu peux faire une version de Build automatique avec http://autobuildversion.codeplex.com/
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Inactif
    Homme Profil pro François
    Chef de projet NTIC
    Inscrit en
    janvier 2007
    Messages
    6 608
    Détails du profil
    Informations personnelles :
    Nom : Homme François
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : janvier 2007
    Messages : 6 608
    Points : 13 112
    Points
    13 112

    Par défaut

    Citation Envoyé par GuruuMeditation Voir le message
    Click droit sur le projet puis "propriétés". Dans "Assembly Information" tu as le numéro de version.
    Sauf qu'il est en natif

    Le monsieur il a écrit :

    Citation Envoyé par CleeM Voir le message
    PS: Mon projet est un projet console Win32 et ne possède pas de fichier AssemblyInfo.cs.
    et je ne me rappelle plus du tout comment on introduit une version en natif.

    C'est un paramètre du linker, oui, mais lequel ???

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2007
    Messages : 204
    Points : 58
    Points
    58

    Par défaut

    Merci pour vos réponses.

    En effet je n'ai ni cet onglet "Asssembly Information", ni le fichier auquel il est associé dans le dossier de mon projet.

    J'ai essayé d'installer le soft de build automatique, mais j'ai une erreur lorsque je l'exécute (apparemment un problème de version de VS...).

    Je vais regarder du côté du Linker, je vous tiens au courant.

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2007
    Messages : 204
    Points : 58
    Points
    58

    Par défaut

    Ok donc il y a bien un champ "Version" dans les propriétés du projet dans l'onglet "Editeur de liens" / "Général".
    Mais si je mets, par exemple, 1.0.0.1, et que je compile (Générer et/ou Ré-Générer), mon exécutable n'a toujours pas de version dans les détails du fichier.

    Du côté d'AutoBuildVersion, j'ai téléchargé la dernière version bêta (2.5, compatible Visual Studio 2010), et lorsque je double clique sur le .VSI, je reçoit l'erreur :

    Un ou plusieurs éléments de contenu présents dans le fichier.vscontent ne peuvent pas être installés, car la version appropriée du composant d'installation de contenu est introuvable.
    Contactez l'auteur du fichier de contenu pour obtenir les informations relatives aux programmes d'installation et version requis.
    Suivit de :

    Soit le fichier .vsi ou .vscontent n'a pas de contenu installable, soit il contient des erreurs.
    Même erreur avant & après la dernière mise à jour de Visual Studio 2010.

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    juin 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2007
    Messages : 204
    Points : 58
    Points
    58

    Par défaut

    Bon j'ai réussi à mettre un numéro de version + quelques infos comme le copyright sur mon exécutable console.

    C'est un peu du bidouillage, donc je vais vous décrire les étapes, au cas où quelqu'un serait intéressé :

    - 1/ Créer un nouveau projet Windows Form.
    - 2/ Créer un nouveau projet Console.
    - 3/ Copier/Coller les fichiers ressource.h, NomDuProjet.rc et targetver.h dans le dossier du projet Console (ajouter aussi small.ico et NomDuProjet.ico si vous voulez garder les icones).
    - 4/ Renommer le fichier .rc avec le nom du projet Console.
    - 5/ Ajouter un nouveau fichier version.h au projet Console.
    - 6/ Copier le code ci-dessous (*a) dans le fichier version.h (modifier les champs nécessaires).
    - 7/ Ajouter une ligne #include "version.h" au fichier NomDuProjet.rc.
    - 8/ Ajouter le code ci-dessous (*b) dans le fichier NomDuProjet.rc (après Icône par exemple).
    - 9/ Compiler le projet Console et c'est bon.

    Il risque de vous demander les icônes si vous n'enlevez pas la partie Icone dans NomDuProjet.rc (présentes dans le projet Windows Form).


    *a: version.h
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #define STRINGIZE2(s) #s
    #define STRINGIZE(s) STRINGIZE2(s)
     
    // Les 4 chiffres qui composent un numéro de version :
     
    #define VERSION_MAJOR               1
    #define VERSION_MINOR               0
    #define VERSION_REVISION            0
    #define VERSION_BUILD               0
     
    #define VER_FILE_DESCRIPTION_STR    "Ceci est la description de l'exécutable"
    #define VER_FILE_VERSION            VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD
    #define VER_FILE_VERSION_STR        STRINGIZE(VERSION_MAJOR)        \
                                        "." STRINGIZE(VERSION_MINOR)    \
                                        "." STRINGIZE(VERSION_REVISION) \
                                        "." STRINGIZE(VERSION_BUILD)    \
     
    #define VER_PRODUCTNAME_STR         "Le nom du produit"
    #define VER_PRODUCT_VERSION         VER_FILE_VERSION
    #define VER_PRODUCT_VERSION_STR     VER_FILE_VERSION_STR
    #define VER_ORIGINAL_FILENAME_STR   VER_PRODUCTNAME_STR ".exe"
    #define VER_INTERNAL_NAME_STR       VER_ORIGINAL_FILENAME_STR
    #define VER_COPYRIGHT_STR           "Le Copyright (C) 2012"
     
    #ifdef _DEBUG
      #define VER_VER_DEBUG             VS_FF_DEBUG
    #else
      #define VER_VER_DEBUG             0
    #endif
     
    #define VER_FILEOS                  VOS_NT_WINDOWS32
    #define VER_FILEFLAGS               VER_VER_DEBUG
    #define VER_FILETYPE                VFT_APP
    *b: Partie Version de NomDuProjet.rc
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    /////////////////////////////////////////////////////////////////////////////
    //
    // Version
    //
    VS_VERSION_INFO VERSIONINFO
     FILEVERSION        VER_FILE_VERSION
     PRODUCTVERSION     VER_PRODUCT_VERSION
     FILEFLAGSMASK      0x3fL
     FILEFLAGS          VER_FILEFLAGS
     FILEOS             VER_FILEOS
     FILETYPE           VER_FILETYPE
     FILESUBTYPE        0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "040904b0"
            BEGIN
                VALUE "FileDescription",  VER_FILE_DESCRIPTION_STR "\0"
                VALUE "FileVersion",      VER_FILE_VERSION_STR "\0"
                VALUE "InternalName",     VER_INTERNAL_NAME_STR "\0"
                VALUE "LegalCopyright",   VER_COPYRIGHT_STR "\0"
                VALUE "OriginalFilename", VER_ORIGINAL_FILENAME_STR "\0"
                VALUE "ProductName",      VER_PRODUCTNAME_STR
                VALUE "ProductVersion",   VER_PRODUCT_VERSION_STR "\0"
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x409, 1200
        END
    END

  7. #7
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 618
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 618
    Points : 3 397
    Points
    3 397

    Par défaut

    Citation Envoyé par Bluedeep Voir le message
    Sauf qu'il est en natif
    Oups...Bon, cherchons une excuse...
    Voila :
    Et les forums C++, c'est pour les chiens ?
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •