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

Windows Forms Discussion :

[C#[SQL SERVER 2005 Express] projet d'installation complet


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 134
    Par défaut [C#[SQL SERVER 2005 Express] projet d'installation complet
    Bonjour,
    Je développe un logiciel de gestion avec Visual C# Express associé à une base de données MS Sql Server 2005 Express.
    Est-il possible de créer une installation qui installe le logiciel, Sql Server, le Framework .Net, etc à la fois ? si oui comment doit-on s'y prendre ? quel logiciel utilisez-vous ?(NIS de nullsoft, Dreamshield, si possible OpenSource).

    Merci

  2. #2
    Expert confirmé
    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
    Par défaut
    Si tu crées un plugin qui lance une installation silencieuse de Sql Server 2005 après l'installation, DreamShield peut le faire ( vu que .Net Framework par défaut il va l'installer ) ( si t'as besoin d'aide, je suis là )

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 134
    Par défaut
    ça m'a l'air d'être une très bonne idée de faire un plugin... mais j'en ai jamais fait de ma vie lol. si tu peux au moins me dire comment je dois m'y prendre ça sera sympathique. Merci

  4. #4
    Expert confirmé
    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
    Par défaut
    regarde dans le menu aide -> tutoriels le fichier "Pages personnalisées pour l'assistant d'installation" sauf que, tu crées un nouveau projet à partir de SampleInstallerPage et tu remplaces le code qui crée la page perso ( le fichier SampleInstallPage_Plugin.cs ) par celui ci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    [Extention(BaseInstallerPlugin.InstallerPluginGuid,
            "{061EBBD7-C2D6-4d11-A057-66F877D31301}")]
        public class MSSQLInstaller_Plugin : BaseInstallerPlugin
        {
            public override void AfterExtentionLoad(PackageInstallerProvider provider)
            {
                base.AfterExtentionLoad(provider);
     
                MSSQLInstaller_Handler handler = new MSSQLInstaller_Handler(provider);
            }
        }
     
        public class MSSQLInstaller_Handler : BaseInstallerEventHandlers
        {
            PackageInstallerProvider provider;
     
            public virtual PackageInstallerProvider Provider
            {
                get { return provider; }
            }
     
            public MSSQLInstaller_Handler(PackageInstallerProvider provider)
            {
                this.provider = provider;
                if (provider == null)
                    throw new ArgumentNullException("provider");
     
                provider.InstallerEventsObjects.Handlers.Add(this);
            }
     
            SchemaMode mode = SchemaMode.Custom;
     
            public virtual SchemaMode Mode
            {
                get { return mode; }
            }
     
            public override void OnExtendedEvent(InstallerHandler_ExtendedEvent eventCode, object[] parameters)
            {
                base.OnExtendedEvent(eventCode, parameters);
     
                switch (eventCode)
                {
                    case InstallerHandler_ExtendedEvent.OnBeginWizardCreation:
                        {
                            /* parameters[0] : form */
                            mode = (SchemaMode)parameters[1];
                            break;
                        }
                }
            }
     
            public override void OnAfterExecuteSchemas(ISequencer sequencer, ISequencerCallBack callBack)
            {
                base.OnAfterExecuteSchemas(sequencer, callBack);
                if (mode == SchemaMode.Install)
                {
                    /*
                     * il faudrait peut être vérifié que MS SQLServer n'est pas déjà
                     * installé ... ^_^
                     */
     
                    callBack.OnEnterStep("Installation de SQL Server", "..", 0, 1);
                    try
                    {
                        System.Diagnostics.ProcessStartInfo msSqlSetup = new System.Diagnostics.ProcessStartInfo();
                        msSqlSetup.FileName = Provider.TargetDir + Path.DirectorySeparatorChar + "SQLServerSetup.exe";
                        msSqlSetup.Arguments = "/silent"; //??? je sais pas là
                        System.Diagnostics.Process setup = System.Diagnostics.Process.Start(msSqlSetup);
                        setup.WaitForExit();
                    }
                    catch (Exception ex)
                    {
                        System.Windows.Forms.MessageBox.Show(ex.ToString());
                    }
                    callBack.OnLeaveStep(1, 1);
     
                }
            }
        }
    Tu peut aussi, tout simplement créer un nouveau projet de dll qui aura ce code dedans. Le projet doit référencer les dlls :
    DreamShield.Deployment.dll
    DreamShield.Extentions.dll

    et avoir les using suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    using DreamShield.Extentions;
    using DreamShield.Deployment.Installers.Interfaces;
    using DreamShield.Deployment.Installers;
    using DreamShield.Deployment.Wizards;
    using DreamShield.Deployment.Sequencers;
    using DreamShield.Deployment.Wizards.Workflow;
    ps. dans cet exemple, il faut que tu rajoute l'installation de MS SQLServer dans ton projet et ce, dans le dossier TargetDir. Ici j'ai fait en sorte d'appeller, après l'installation, le fichier TargetDir\SQLServerSetup.exe

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 134
    Par défaut
    merci pour tes infos très précises . Je vais essayer ça dès demain. Merci encore.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 134
    Par défaut
    ça marche super bien ton logiciel smyley. Cependant je sais pas comment faire pour inscrire dans une clef du registre (que j'ai réussi à créer) le chemin où l'application est installée.

Discussions similaires

  1. Réponses: 8
    Dernier message: 09/02/2007, 12h58
  2. Réponses: 1
    Dernier message: 09/09/2006, 21h52
  3. installation sql server 2005 express
    Par gock dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/11/2005, 10h08
  4. [SQL Server 2005 Express] Problème d'installation.
    Par Nadd dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/09/2005, 17h47
  5. [Installation]SQL Server 2005 Express Edition sur XP home
    Par Médiat dans le forum MS SQL Server
    Réponses: 15
    Dernier message: 06/08/2005, 18h22

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