none
Packaging pour livraison RRS feed

  • Question

  • Bonjour,
    Je débute avec .Net 2008 et le .Net Framework.
    Je souhaiterais savoir s'il existe des outils pour le packaging (je n'ai rien trouvé sur les forums avec ce terme). Ce que je souhaite faire c'est, après un build en release réussi, lancer un programme ou script qui va :
    - réunir toutes les DLL nécessaires (hors framework bien sûr) par exemple SqlServerCe etc.
    - créer un dossier avec l'exe, le fichier App.config s'il y a, les DLL nécessaires, la base de données si dans le projet, etc.
    De manière à ce que je puisse lancer le script de l'installeur (type InnoSetup ou autre) directement sur un dossier tout prêt. J'insiste sur les DLL car c'est là le problème principal, je souhaite imposer le moins d'installations possibles à mes clients.

    Merci
    mardi 12 janvier 2010 16:14

Réponses

  • Bonjour,

    Gabriel a exposé les 2 possibilités dont tu diposes.
    Je vais détailler un peu et te donner des tutoriaux pour chacune d'entre elles histoire que tu puisses te faire une idée et donc faire ton choix en consequence.
    De toutes les manières, tu peux faire les 2, et ensuite choisir celle qu'il te plait.

    A. Setup

    Il existe un très bon tutorial pour créer un projet de déploiement sur Visual Studio.
    Il détaille toutes les notions du Windows Installer, et ensuite décrit comment faire avec des screenshots.

    http://en.csharp-online.net/Deploying_Windows_Applications%E2%80%94Visual_Studio_Setup_and_Deployment_Project_Types


    B. ClickOnce

    Sinon, si tu veux limiter le nombre d'installations à faire par tes clients, utilise ClickOnce, car avec ClickOnce, tu ne feras jamais que la 1ere installation avec eux, les mises à jours se font automatiquement lorsque tu déploies une nouvelle version via un serveur Web.

    Pour ClickOnce, je te conseille de regarder ceci :

    http://www.commentcamarche.net/faq/sujet-24678-deploiement-des-applications-avec-clickonce

    Et je te conseille de pousser juste un peu plus loin le tutorial en publiant une version 1.0.0.1, et en regardant comment cela se met à jour.


    En espérant que tu trouveras tout ce qu'il te faut dans les tutoriaux.
    De toute façon dans les 2 manières, c'est à toi de détailler les DLLs que tu veux embarquer et comment tu les embarques, donc après c'est à toi de joeur avec et de trouver celle qui te convient le mieux.
    Chez Sharplog, on a testé les 2, et nous on fait du ClickOnce.

    Cordialement,

    Thomas
    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    mardi 12 janvier 2010 18:23
  • Bonjour Riccardo,

    Je n'ai pas l'explication au pourquoi de la réinstall du framework, mais par défaut, nous on lance toujours le MSI, jamais l'EXE.
    Je vais essayer de regarder vite fait si je trouve une explication sur le net.

    Concernant SQL CE :
    Ici tu as un tutorial qui explique comment procéder pour ne plus avoir le problème, soit par ClickOnce, soit par un projet de déploiement :
    http://msdn.microsoft.com/en-us/library/bb219481(SQL.90).aspx

    Cordialement,

    Thomas


    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    • Marqué comme réponse Riccardo Cohen mercredi 13 janvier 2010 23:51
    mercredi 13 janvier 2010 11:55

Toutes les réponses

  • Il existe un projet de type Setup dans Visual Studio et il y aussi ClickOnce.

    Les projets de type Setup ne sont pas disponible avec les versions Express cependant.
    Microsoft MVP C# :: mongeon.devrpm.ca
    mardi 12 janvier 2010 16:56
    Modérateur
  • Bonjour,

    Gabriel a exposé les 2 possibilités dont tu diposes.
    Je vais détailler un peu et te donner des tutoriaux pour chacune d'entre elles histoire que tu puisses te faire une idée et donc faire ton choix en consequence.
    De toutes les manières, tu peux faire les 2, et ensuite choisir celle qu'il te plait.

    A. Setup

    Il existe un très bon tutorial pour créer un projet de déploiement sur Visual Studio.
    Il détaille toutes les notions du Windows Installer, et ensuite décrit comment faire avec des screenshots.

    http://en.csharp-online.net/Deploying_Windows_Applications%E2%80%94Visual_Studio_Setup_and_Deployment_Project_Types


    B. ClickOnce

    Sinon, si tu veux limiter le nombre d'installations à faire par tes clients, utilise ClickOnce, car avec ClickOnce, tu ne feras jamais que la 1ere installation avec eux, les mises à jours se font automatiquement lorsque tu déploies une nouvelle version via un serveur Web.

    Pour ClickOnce, je te conseille de regarder ceci :

    http://www.commentcamarche.net/faq/sujet-24678-deploiement-des-applications-avec-clickonce

    Et je te conseille de pousser juste un peu plus loin le tutorial en publiant une version 1.0.0.1, et en regardant comment cela se met à jour.


    En espérant que tu trouveras tout ce qu'il te faut dans les tutoriaux.
    De toute façon dans les 2 manières, c'est à toi de détailler les DLLs que tu veux embarquer et comment tu les embarques, donc après c'est à toi de joeur avec et de trouver celle qui te convient le mieux.
    Chez Sharplog, on a testé les 2, et nous on fait du ClickOnce.

    Cordialement,

    Thomas
    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    mardi 12 janvier 2010 18:23
  • Merci pour ces deux réponses, c'est sympa. Je vais bien lire tout ça et essayer les 2 solutions.

    mardi 12 janvier 2010 18:46
  • Bonsoir,
    Après avoir lu attentivement le premier tutoriel sur l'installation par le projet setup dans visual studio, j'ai réussi à faire un installeur qui inclut automatiquement la DLL de requise pour SqlServerCe avec mon programme + une petite base de données. La première fois que je lance l'installeur sur un poste n'ayant pas .net framework 3.5, il le télécharge et l'installe, c'est super. Cependant j'ai 2 soucis :

    - à chaque fois que je relance l'installeur (setup.exe) il réinstalle le framework ??? même après reboot du PC.... par contre si je lance le .msi là c'est bon. Je pensais que le setup aurait détecté que le framework est déjà là... est-ce normal ?

    - après installation, le programme peut être lancé correctement. Il arrive à trouver la DLL System.Sata.SqlServerCe.dll mais se plaint qu'il manque sqlceme35.dll ! effectivement dans le dossier de visualstudio il y a 7 dll sqlce*.dll, pourquoi l'installeur ne les a-t-il pas ajoutées ?

    Si je les copie à la main dans le dossier d'installe ça fonctionne. Merci pour toute info.
    mardi 12 janvier 2010 21:56
  • Bonjour Riccardo,

    Je n'ai pas l'explication au pourquoi de la réinstall du framework, mais par défaut, nous on lance toujours le MSI, jamais l'EXE.
    Je vais essayer de regarder vite fait si je trouve une explication sur le net.

    Concernant SQL CE :
    Ici tu as un tutorial qui explique comment procéder pour ne plus avoir le problème, soit par ClickOnce, soit par un projet de déploiement :
    http://msdn.microsoft.com/en-us/library/bb219481(SQL.90).aspx

    Cordialement,

    Thomas


    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    • Marqué comme réponse Riccardo Cohen mercredi 13 janvier 2010 23:51
    mercredi 13 janvier 2010 11:55
  • Merci pour l'info,
    - pour le MSI, c'est pas grave, je vais me débrouiller avec ça, merci
    - pour les DLL de SQL CE, c'est un peu ce que j'ai fait, mais en mettant les DLL dans le projet de livraison au lieu du projet application.

    Merci pour tout.
    mercredi 13 janvier 2010 23:53