IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

deployer un programme


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut deployer un programme
    Bonjour,

    voila, j'ai fait un petit jeu en c# pour mon enfant.
    Dans mon programme, je fais appel a des images stoquées sur le disque dure.
    J'ai dailleurs importer ces images et un fichier midi dans le projet c#.
    Si je crée le programme, et que j'installe celui-ci avec l'exe, tout fonctionne bien sur le pc d'origine. mais si je veux utiliser ce jeu sur un autre pc, ça bloque car les images et le fichier son n'est pas installé automatiquement.
    Je suppose qu'il doit y avoir une possibilité afin que les images et le fichier midi soit automatiquement copier par exemple dans un dossier c://jeu/imagesetson , durant le deployement de mon programme.

    J'espère avoir été assez claire.
    Je vous en remercie déjà

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    Voyant que mon post est bien lu mais que personne ni répond, je me demande si j'ai été assez claire dans ma question?
    N'hésitez pas à me demander des eclaircissement si necesaire.
    en gros je souhaite que les fichiers externe qui doivent être utilisé par mon programme soit copier au bon endroit lors de l'installation automatique de ma petite réalisation.
    cela doit bien exister mais je n'ai trouvé la réponse nul part.
    Encore merci.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    bon ben si il y a pas de solution avec visual studio express,j'ai trouvé sur le net un logiciel gratuit devant repondre à mon besoin.

    "inno setup"

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Je ne me rappelle plus si dans les version Express on peut créer un projet de déploiement (je crois pourtant)

    Sinon dans VS on peut créer un projet "Setup And Deployment" (en anglais)

    Cela dit il y a divers Installeurs gratuits : Inno ou NSIS, sans oublier notre ami DreamShield...

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    Solutions possibles:

    1 - Tu intègres tes images et tes sons aux ressources de ton projet et basta

    2 - Tu ajoutes dans ton projet setup des données venant de repertoire externe. ET donc, lors de la création du MSI, toutes ces données y figureront.

    Voilà

    C'est pas plus "compliqué" que celà !!!

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    merci pour vos réponses,

    visiblement dans les versions express, il n'y a pas de projet setup . Ou peut-être que je ne cherche pas au bon endroit.
    Mais si je vais dans nouveau projet ou dans ajouter élément, visual studio ne me propose rien en ce qui concerne setup ou setup deployement.

    Si je ne cherche pas a bon endroit, prévennez moi svp.



    En ce qui concerne l'intégration des images et du fichier mid dans le projet, j'ai un petit soucis. En fait, pour lire la musique, j'utilise directX
    Mais je ne sais pas comment dire que le fichier musiquejeu se trouve dans mon code. Donc si quelqu'un peut me dire ce que je dois mettre dans le string sMaMusique, je lui en serait reconnaissant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    string sMaMusique = @"C:\musiquejeu.mid";    
      monAudio = new Microsoft.DirectX.AudioVideoPlayback.Audio(sMaMusique);

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    pour les images je fais comme cela et c'est bon, mais j'y arrive pas pour mon fichier musical .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.pictureBox1.Image=monprojet.Properties.Resources.lenomdemonimage;
    Donc si quelqu'un peut m'aider, je lui en serai reconnaissant

  8. #8
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par malvax Voir le message
    visiblement dans les versions express, il n'y a pas de projet setup . Ou peut-être que je ne cherche pas au bon endroit.
    Non, il n'y a pas l'outil de création de Setup dans les versions Express de Visual.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    je crois avoir trouver comment faire.
    Mais est-ce bien la meilleure solution??

    en fait j'ai créé un dossier dans mon projet et dans ce dossier j'y ai mis mon fichier son.
    ensuite j'ecris nomdudossier\nomdufichier son et tout fanctionne.
    et voici donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    string sMaMusique = @"essai\musiquejeu.mid";
     
     monAudio = new Microsoft.DirectX.AudioVideoPlayback.Audio(sMaMusique);
    Mais pouvez vous me dire:

    1 Est-ce un bonne solution?
    2 Quelle est la différence entre mettre le fichier son dans le dossier et le mettre dans les resources?


    Merci

  10. #10
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par malvax Voir le message
    1 Est-ce un bonne solution?
    Utilise un chemin absolu, pas relatif, cf.
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    string sMaMusique = Path.GetDirectoryName(Assembly.GetExecutingAssembly.Location) + Path.DirectorySeparatorChar + "essai" + Path.DirectorySeparatorChar + "musiquejeu.mid";

    Citation Envoyé par malvax Voir le message
    2 Quelle est la différence entre mettre le fichier son dans le dossier et le mettre dans les resources?
    Quand tu met dans le dossier tu met dans le dossier ... quand tu inclus comme ressource alors le son est rajouté à ton exécutable. Cela peut parfois mener à des complications cf. ton exécutable est alourdit ce qui peut augmenter le temps de chargement et changer un son oblige à recompiler entièrement l'exécutable, ce qui n'est pas nécessaire quand tu inclus les sons dans un dossier.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    merci smyley,

    mais j'ai un petit souci avec votre code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string sMaMusique = Path.GetDirectoryName(Assembly.GetExecutingAssembly.Location) + Path.DirectorySeparatorChar + "essai" + Path.DirectorySeparatorChar + "musiquejeu.mid";
    j'ai un message d'erreur me disant que le path n'existe pas dans le contexte actuel.
    Mais je ne devais peut-être pas copier votre ligne telle quelle?
    Mais je dois reconnaitre que je ne comprends pas bien cette ligne.

  12. #12
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Path est dans System.IO (donc il faut rajouter "using System.IO"), et Assembly est dans System.Reflection ...

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    maintenant j'ai un message disant que GetExecutingAssembly n'est pas valide dans le contexte donné.

    Pourtant j'ai bien inclu systeme IO et susteme reflection. Ou peut donc etre l'erreur??

  14. #14
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Ah mince, c'est Assembly.GetExecutingAssembly().Location et pas Assembly.GetExecutingAssembly.Location

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    Merci , Milles merci ça fonctionne.

    mais voyez-vous je suis pas un professionnel et je ne comprend pas ce que ca change d'accéder de cette manière à mon fichier plutôt que comme je l'avais fait précédement.
    Pouvez-vous m'expliquer ce qui doit m'insiter à travailler de cette manière?

  16. #16
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Simplement que quand sous Windows on utilise un chemin relatif, c'est un chemin relatif par rapport au dossier courant (cf. Environment.CurrentDirectory ou GetCurrentDirectory de l'Api) sauf que c'est une chose qui peut être amenée à changer au cours de l'exécution d'un programme. Et donc on peut se retrouver dans une situation ou l'application est dans C:\Mon\Machin mais que le dossier courant soit C:\Truc\Bidule et donc le programme va planter sans trop qu'on sache pourquoi ... donc, chemin absolu, toujours ...

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    Merci

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

Discussions similaires

  1. comment deployer un programme fait avec jbuilder
    Par showmetheway dans le forum JBuilder
    Réponses: 6
    Dernier message: 23/09/2003, 01h11
  2. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  3. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  4. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo