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

Entrée/Sortie Java Discussion :

Copier un fichier dans le GAC


Sujet :

Entrée/Sortie Java

  1. #1
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut Copier un fichier dans le GAC
    Bonjour à tous

    Dans le contexte d'un projet, je dois copier/installer une dll dans le GAC (Global Assembly Cache) de Windows (qui se situe dans C:\Windows\assembly). J'ai essayé avec un simple renameTo mais cela me renvoie toujours false... Est-ce que quelqu'un sait s'il y a une méthode spécifique pour faire cela ?

    Merci d'avance !

    @++

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    As-tu essayé de carrement copier le fichier via les fluxs :
    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
    File src = new File("file.dll");
    File dest = new File("C:\\Windows\\assembly\\file.dll");
    dest.createNewFile();
    FileInputStream fis = new FileInputStream(src);
    BufferedInputStream bis = new BufferedInputStream(fis);
    FileOutputStream fos = new FileOutputStream(dest);
    BufferedOutputStream bos = new BufferedOutputStream(fos);
    byte[] data = new byte[2048];
    int nbRead = 0;
    try {
        while((nbRead = bis.read(data)) != -1) {
            bos.write(data, 0, nbRead);
            bos.flush();
        }
    } catch(IOException ioe) {
        ioe.printStackTrace();
    } finally {
        bos.close();
        bis.close();
        fos.close();
        fis.close();
    }
    PS : je n'ai pas géré l'exception levée par la méthode createNewFile(), pense à le faire .
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut
    Salut,

    merci pour la réponse Alors finalement, je suis passé par un chemin détourné : j'installe la dll via gacutil -i myDll.dll et je lance ensuite mon programme java en passant la dll à utiliser. Par contre maintenant je cherche un moyen de récupérer le publicKeyToken de la dll en question... J'ai lu la dll en binaire mais la (ou plutot les) publickeyToken qui apparaissent ne correspondent pas Est-ce qu'il existe une API / méthode en Java pour gérer le GAC ?

    merci d'avance

    @++

  4. #4
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut
    re,

    Alors j'ai réussi encore à contourner le souci Voici ce que j'ai fait : tout d'abord j'utilise gacutil pour installer la dll dans le GAC. Je le réutilise ensuite pour sortir les informations de la dll que je viens d'installer (gacutil /l laDll) et je les affiches dans un dossier texte que je vais ensuite lire avec java Ce qui me donne le fichier launch.bat suivant :
    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
    @echo off
     
    SET assembly=WPSubscription
    SET config=web.config
     
    echo Enregistrement de %assembly% dans le GAC...
    "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil" -i %assembly%.dll
     
    echo.
    echo Enregistrement des donnees dans data.txt...
    "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil" /l %assembly% > data.txt
     
    echo.
    echo Generation du fichier xml %assembly%.dll
    "C:\Program Files\Java\jdk1.5.0_07\bin\java" -cp "." WebPartDeployer %assembly%.dll %config%
    Voila si quelqu'un travaille sous SharePoint Portal Server 2007 et qu'il veut déployer facilement et rapidement ses WebPart, je lui envoie ma source

    @++

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Citation Envoyé par thecaptain
    Voila si quelqu'un travaille sous SharePoint Portal Server 2007 et qu'il veut déployer facilement et rapidement ses WebPart, je lui envoie ma source
    Si tu est prêt as partager ta source, il y a des sous-forums Contribuez (Contributions Java, Contributions Dotnet, ... choisi celui qui convient à ton code et n'hésite pas )
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/02/2006, 08h50
  2. Copier un fichier dans un répertoire
    Par soft damsel dans le forum Langage
    Réponses: 2
    Dernier message: 14/02/2006, 16h02
  3. Copier un fichier dans une chaine
    Par Fry dans le forum C++
    Réponses: 4
    Dernier message: 30/09/2005, 00h02
  4. [Système] Comment copier un fichier dans le presse papier ?
    Par le y@m's dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 19/09/2005, 12h03
  5. Réponses: 4
    Dernier message: 17/06/2005, 10h09

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