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 :

Executer un fichier Cab


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut Executer un fichier Cab
    Bonjour,

    Voilà, j'ai un fichier cab qui contient un .exe. Seulement ce que je voudrais c que lorsque je deploie mon cab, le .exe se lance automatiquement plutot que d'avoir a cliquer dessus apres le deploiement du cab.
    Alors auriez-vous une idée de comment faire (pour rendre un cab executable si on peut dire ca ainsi),

    Merci d'avance.

  2. #2
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    mais ça dépend de type de logiciel utilisé pour la compression... pour un fichier .cab simple, tu peut pas faire ça directement mais, tu peut, par exemple, le compresser en SFX est générer un exécutable qui décompresse l'archive et exécuter par la suite un fichier de ce dernier.

    Mais, ça n a rien avoir avec le C# ????????

    Est ce que tu veut créer un prog. qui décompresse et exécute le binaire d'installation ?

    Si c'est le cas, c'est simple. un programme qui utilise les appels système pour extraire l'archive, et puis après ça, tu exécute le binaire ç travers le programme !!!!!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    Ce que je voudrais c que des que la decompression s'acheve, et sans avoir a cliquer sur l'.exe; celui-ci se lance automatiquement.
    J'ai pensé à ta solution avec des appels systèmes mais au final ca me revient à avoir un exe qui appelle un autre exe.

  4. #4
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Citation Envoyé par zerobug Voir le message
    Ce que je voudrais c que des que la decompression s'acheve, et sans avoir a cliquer sur l'.exe; celui-ci se lance automatiquement.
    J'ai pensé à ta solution avec des appels systèmes mais au final ca me revient à avoir un exe qui appelle un autre exe.
    Mais c le but

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Septembre 2005
    Messages : 63
    Par défaut
    A mon avis ce n'est pas possible, il y aurait des problèmes de sécurité...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    Apparemment il y aurait un moyen d'executer des actions lors du deploiement du cab à l'aide d'un setup. Par contre je sais pas comment faire ce dernier.
    auriez-vous des idées. (J'utilise Visual studio 2005 pour mon dev.)

    Merci d'avance.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut Créer un Setup.dll pour un cab
    Voila j'en reviens thjs à ce point.
    Je cherche à générer un setup.dll sous c#. MAis le seul exemple que je trouv est en C++ que je connais. Je vous file le lien:
    http://msdn.microsoft.com/en-us/library/aa924308.aspx
    Si quel u'un pouvait me dire l'équivalent en C# ce serait cool.

    Merci d'avance

  8. #8
    Membre chevronné Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Par défaut
    Tu peut pas faire convertir du C++ native en C#, les resultats de la compilation, sont deux binaires différents en mode d'execution et en mode d'appelle (dans le cas d'une library)....

    Donc soit tu fait des modif sur le code C++ que tu as trouvé, soit tu code un autre avec les norme specifié ???

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Par défaut
    Apparemment il n'est pas possible d'implémenter une setup.dll en c# les méthodes prédéfinies n'existent que dans C++.
    Alors ce que je fais au niveau de la méthode apres installation est le suivant:
    // Called at the end of the installation process
    codeINSTALL_EXIT Install_Exit(
    HWND hwndParent,
    LPCTSTR pszInstallDir, // final install directory
    WORD cFailedDirs,
    WORD cFailedFiles,
    WORD cFailedRegKeys,
    WORD cFailedRegVals,
    WORD cFailedShortcuts
    )
    {
    PROCESS_INFORMATION pi = {0};
    codeINSTALL_EXIT cie = codeINSTALL_EXIT_DONE;

    // We are provided with the installation folder the
    // user has installed the application into. So prepend
    // the name of the application we want to launch.
    TCHAR szPath[MAX_PATH];
    _tcscpy(szPath, pszInstallDir);
    _tcscat(szPath, TEXT("\\"));
    _tcscat(szPath, TEXT("Appli.exe"));

    MessageBox(GetForegroundWindow(), szPath, L"status", MB_OK);

    // Start the application, and don't wait for it to exit
    if (!CreateProcess(szPath, NULL, NULL, NULL, FALSE, (CREATE_NEW_CONSOLE), NULL, NULL, NULL, &pi))
    {
    MessageBox(GetForegroundWindow(), szPath, L"failed", MB_OK);
    cie = codeINSTALL_EXIT_UNINSTALL;
    }

    return cie;

    sauf que ma methode CreateProcess ne marche pas

    Auriez vous des idées?

Discussions similaires

  1. [C#] Executer un fichier .SQL
    Par Thomas Lebrun dans le forum Accès aux données
    Réponses: 6
    Dernier message: 28/07/2009, 08h53
  2. [DB2] executer un fichier sql
    Par meufeu dans le forum DB2
    Réponses: 7
    Dernier message: 10/01/2009, 15h47
  3. Executer un fichier zip
    Par Sébastien THEVOT dans le forum C++Builder
    Réponses: 15
    Dernier message: 11/10/2004, 10h35
  4. Création de fichiers CAB
    Par Polux63 dans le forum Windows
    Réponses: 5
    Dernier message: 22/08/2004, 10h50
  5. FOXPRO 2.6 : erreur créations du /des fichiers CAB
    Par breihtiti dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 16/11/2002, 11h28

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