Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Kype's blog

Technical and technological issues around Microsoft's products
[SharePoint] Récupérer le fichier WSP d'une solution déployée au sein d'une ferme

Il arrive qu'on souhaite récupérer les solutions déployées dans une ferme SharePoint, que ce soit dans le cadre d'un audit ou tout simplement lorsque les packages de déploiement sont perdus. Tongue Tied

Tout ceux qui ont un jour déployé une solution SharePoint ont utilisé la commande "stsadm -o addsolution" puis "stsadm -o deploysolution" comme décrit sur MSDN, et se sont peut-être rendus compte qu'il n'y avait pas de commande STSADM qui renvoit une solution installée.

En fait, lorsque la commande "stsadm –o addsolution –filename mysolution.wsp" est exécutée, "mysolution.wsp" est stockée dans le "Solution Store" qui n'est rien d'autre que la base de configuration de SharePoint, et plus particulièrement la table dbo.Binaries.

image

A partir de là, il est possible d'utiliser l'outil bcp.exe pour extraire les données binaires de la base pour obtenir le fichier WSP comme le montre la capture ci-dessous :

image

L'inconvénient, c'est qu'il faut aller en base pour récupérer l'ObjectId et qu'on ne sait pas vraiment à quelle solution le fichier extrait correspond (avant de dézipper, et encore...).

La bonne nouvelle, c'est qu'il est tout à fait possible de récupérer le fichier WSP correspondant à une solution avec quasiment une seule ligne de code :

private void getSolutionFile(String solutionName, String outputPath)
        {
            SPFarm.Local.Solutions[solutionName].SolutionFile.
            SaveAs(outputPath); }

qu'il suffit d'appeler de la manière suivante par exemple : getSolutionFile("MySolution.wsp","C:\\MySolution.wsp");

Et voilà ! Big Smile

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mercredi 15 avril 2009 22:43 par Kype

Commentaires

ROMELARD Fabrice a dit :

Excellent, je vais voir pour te traduire ca en PowerShell.

Cela peut servir à tous les administrateurs SharePoint.

Fabrice

# avril 16, 2009 11:25

ROMELARD Fabrice a dit :

Done, le script PowerShell est disponible ici :

- http://sharepointpsscripts.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=21806

Il permet de lister les solutions installées ou de les extraire dans le répertoire transmis.

Romelard Fabrice [MVP]

# avril 16, 2009 13:53

Kype a dit :

Super ! Merci pour ce complément ultra rapide ! :)

# avril 16, 2009 16:33
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Les actualités de la semaine sur c2i.fr (14 mai - 20 mai) par Richard Clark le il y a 4 heures et 47 minutes

- Reactive Extensions : Consommer des services avec Rx Partie 3, les pièges à éviter par Léonard Labat le il y a 13 heures et 52 minutes

- SharePoint Blog Site, problème d’archives par Le Blog (Vert) d'Arnaud JUND le 05-20-2012, 13:09

- Soirée ALT.NET Mai - 3 présentations par #Rui le 05-18-2012, 11:59

- [ #SharePoint 2010][ #SQLServer 2012] AlwaysOn pour SharePoint (2/4) : Configuration (2e partie)… par Le blog de Patrick [MVP SharePoint] le 05-18-2012, 11:31

- Team Foundation Server 11: tous les trésors cachés du site d’équipe par Philess le 05-16-2012, 19:01

- [PowerShell 3] Télécharger et installer la documentation en ligne par Blog de SPBrouillet (Pierrick BROUILLET) le 05-16-2012, 17:36

- [#SharePoint 2010][#SQLServer 2012] AlwaysOn pour SharePoint (1/4) : Configuration (1ère partie)… par Le blog de Patrick [MVP SharePoint] le 05-16-2012, 12:10

- Job Day @MIC Brussels - .Net Developers on Mobile applications par Le Blog (Vert) d'Arnaud JUND le 05-15-2012, 20:26

- [SharePoint 2010] – SharePoint 2010, Windows (Server) 8 et des erreurs IIS sont dans une VM… par Blog de SPBrouillet (Pierrick BROUILLET) le 05-14-2012, 12:10