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

Dotnet Discussion :

Tout le deploiement dans un .exe


Sujet :

Dotnet

  1. #1
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut Tout le deploiement dans un .exe
    salut tout le monde
    j'ai réaliser une simple application de gestion de livres qui utilise une base de donnée sqlserver2005.Maintenant j'ai un problème pour déployer cette application puisque je veux quand j'execute mon fichier d'installation de l'application s'installe tout avec (framwork,dll de crystal report,moteur de base de donnée sqlserver,base de donnée soit crée)
    et merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Salut,
    Visual Studio permet de créer des projets de déploiement qui servent justement à ça. Ca détectera toutes les dépendances de ton application et te proposera de les inclure dans le package.
    Par contre, en général, dans ce genre d'applications, la base de données n'est pas sur le poste client mais sur un serveur, afin de centraliser les données. Il est peut-être possible de déployer SQL server en même temps que ton appli, mais n'oublie pas qu'il faut payer une licence SQL Server pour chaque poste sur lequel il est installé... (enfin, je ne connais pas les conditions exactes de la licence SQL server, mais ça doit être un truc comme ça). Sinon tu peux remplacer SQL Server par un base Access ou SQLite, plus simple à déployer.

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Il est peut-être possible de déployer SQL server en même temps que ton appli, mais n'oublie pas qu'il faut payer une licence SQL Server pour chaque poste sur lequel il est installé... (enfin, je ne connais pas les conditions exactes de la licence SQL server, mais ça doit être un truc comme ça). Sinon tu peux remplacer SQL Server par un base Access ou SQLite, plus simple à déployer.
    Il est aussi possible d'utiliser SQL Server Express. Il n'y aura pas le problème de licence.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    Mais comment faire pour déploiyer tout ce beau monde en un seul executable.Si j'utilise le projet de deploiement de visual studio et je la deploie.
    Donc dans mon poste client je dois tous d'abord installer la framwork dans le pc et sql server express et enfin mon application.
    Donc comment je peux regrouper tous ca dans un seul .exe

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Le projet de déploiement peut aussi inclure le framework, mais vu la taille que ça fait ce n'est pas forcément une bonne idée, d'autant que le framework est normalement installé via Windows Update.

  6. #6
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    et pour les autres composants??

  7. #7
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    le projet d'installation est un projet à part ! c'est à dire que sous visual studio il faudra créer un nouveau projet de type déploiement, ce projet va te générer un .msi et non un .exe et ce .msi contiendra toutes tes dépendances

    commence par voir ce lien http://msdn.microsoft.com/library/fr...ngsolution.asp

  8. #8
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    j'ai jeté un coup d'oeil sur le lien que tu m'as donné.Et je suis allé dans les propriété du projet de déploiement,après dans Composants requis et j'ai coché tous les composants que j'en ai besoin et après je dois choisir entre les trois options au dessous.Laquelle choisir???
    j'ai choisi la première mais je ne suis pas satisfait du resultat puisque dans l'installation il me redirige vers le site ou je peux télécharger les composants coché si il ne sont pas détecter dans le pc cible.
    je voudrais bien choisir la deuxième (Télecharger les composants à partir de l'emplacement de mon application ) ce qui suppose que je les ai déjà
    question:d'ou je peux télécharger ces composants distribuable mercii

  9. #9
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    je prend commen example la redistribution du Framework qui est la même procédure que d'autres composants (sql par exemple) :

    Lorsque l’on déploie une application Visual Studio.NET, le Framework doit être installé sur la machine cible. Le Framework ne peut pas être inclus dans le package .msi sous forme de module de fusion (merge module). Il doit être installé séparément du fichier .msi à l’aide de Dotnetfx.exe.

    Il y a trois possibilités lorsque l’on distribue une application dépendante du Framework :
    1. Demander à l’utilisateur de lancer Dotnetfx.exe sur sa machine (par un fichier readme.txt par exemple).
    2. Pour les administrateurs, dans les entreprises, utiliser un outil de distribution de logiciels type SMS. Ceci permet en effet de redistribuer le Framework.NET une fois pour toute sur tous les postes de l’entreprise.
    3. Demander à notre programme d’installation de vérifier et d’installer le Framework (dans les options de créations du projet d’installation via visual studio)
    La première possibilité est certainement la plus simple à mettre en œuvre. Sachant que si le Framework.NET n’est pas installé, l’application ne s’installera pas, le fichier readme.txt aura un poids plus fort.

    La deuxième solution est certainement la meilleure pour les grandes entreprises bénéficiant des outils d’administration de parc machine adéquats.

    La troisième possibilité ravira les personnes qui veulent retrouver un déploiement installant tous les fichiers (Framework, package etc,…) à l’aide d’un setup (même si dans la réalité, les divers constituants sont juste installés les uns après les autres).

    Le programme d’amorçage effectue les opérations suivantes :
    1. Vérification de la présence du Framework.NET sur le poste cible.
    2. Lancement d’une installation silencieuse de Dotnetfx.exe si la version spécifiée du Framework n’est pas présente (possibilité de le télécharger depuis le web ou de joindre l’exécutable Dotnetfx dans le package d’installation pour permettre une installation offline). Un redémarrage de la machine peut être nécessaire à ce moment là.
    3. Installation de votre application. Si un redémarrage est nécessaire, il est reporté après la fin de l’installation de votre application.

    Nous allons montrer un tel déploiement plus loin dans ce document
    quand tu coches le fait de télécharger ces composants depuis le poste cible, à la génération de la solution il va te créer tes exécutables (dotnetfx, sqlserver, ...) je pense que tu n'est pas aller au bout du test car sinon tu aurais remarqué la création de ces fichiers ...

  10. #10
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    ouii ca à l'air de marché merci beaucoup.ooops une derniere question si je veux au moments de l'installation la base de donnée soit crée au moment de l'installation que faire???

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 164
    Par défaut
    salut salut,

    si tu veux creer ta db au moment de l'installation de ton appli et de tes composants donet, db sql, etc..

    il va falloir que tu passes par une custom action qui lancera un exe ecrit en vb ou c# et qui se connectera a ta db et executera des query create db, create table, etc ...

    Regardes du cote des custom action

    Bonne journée
    Christophe

  12. #12
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    ah bonn si je comprend bien j'ai qu'a ecrire un script sql (create table .....) et l'ajouter comme une custom action dans le projet d'installation au moment de l'installer

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 164
    Par défaut
    oui exactement dans ton fichier sql tu mets ta connection a ta db et tes requetes sql ensuite tu fais une custom action tu build et tu envois le tout !

    Tiens moi au courant
    Christophe

  14. #14
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut
    comment dans un fichier sql on peut mettre la connexion

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 164
    Par défaut
    salut salut,

    faut utiliser osql + ta connection et ensuite tes query !

    osql est un utilitaire que tu retrouves dans sql server et qui te permet de lancer des commandes apres s'être authentifie !
    Je pense que cet utilitaire peux prendre un parameter en entree tel un fichier.

    Sinon un exe et dans cet exe tu places ta connection et tes query.

    Bon week end
    Christophe

  16. #16
    Membre éclairé

    Inscrit en
    Décembre 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 260
    Par défaut Sinon un exe et dans cet exe tu places ta connection et tes query.
    je voudrais bien un .exe comment placer une connection dedans???

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 164
    Par défaut
    salut salut,

    sur ce site tu troveras tout un tas d'exemples mais tu fais un project C# ou vb et dedans tu codes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    string chaineConnection = "TachaineDeConnectionAuServerSql";
     
    //ensuite tu ouvres ta connection
    SqlConnection con = new SqlConnection();
    con.ConnectionStrings = chaineConnection;
     
    con.Open();
     
    //tes requetes pour creer ta db et tes tables..
     
    con.Close();

Discussions similaires

  1. Comment tout intégrer dans le *.exe ?
    Par Gébix dans le forum SDL
    Réponses: 9
    Dernier message: 27/03/2007, 13h35
  2. [VB.NET] lecture dans un exe
    Par cyrcroix dans le forum Windows Forms
    Réponses: 12
    Dernier message: 05/07/2005, 17h31
  3. Réponses: 2
    Dernier message: 17/06/2005, 23h03
  4. Réponses: 1
    Dernier message: 05/10/2004, 15h51
  5. modifier l'adresse d'un dll dans un .exe
    Par Mr Meuble dans le forum Windows
    Réponses: 4
    Dernier message: 02/03/2004, 16h39

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