C'est ce que je l'ai fait pour automatiser le déploiement des politiques de mon CAS webpart:
intérieur de mon .wsp fichier, j'ai un Manifest.xml fichier avec ce contenu:
<?xml version="1.0" encoding="utf-8" ?>
<Solution SolutionId="0C006FE3-919D-4a2a-9CF0-FEA66A0A91E4" xmlns="http://schemas.microsoft.com/sharepoint/" >
<Assemblies>
<Assembly Location="MyWebPart.dll" DeploymentTarget="WebApplication">
<ClassResources>
<ClassResource Location="MyWebpart_log.config" />
<ClassResource Location="combo.css" />
<ClassResource Location="combo.js" />
<ClassResource Location="img/arrow.png" />
<ClassResource Location="img/coordination.gif" />
<ClassResource Location="img/dt-arrow-dn.png" />
<ClassResource Location="img/dt-arrow-up.png" />
<ClassResource Location="img/loading.gif" />
<ClassResource Location="img/menu-button-arrow.png" />
<ClassResource Location="img/spinner.gif" />
<ClassResource Location="img/split-button-arrow.png" />
<ClassResource Location="img/sprite.png" />
</ClassResources>
<SafeControls>
<SafeControl Assembly="MyWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=017e953639e07a31"
Namespace="MyWebPart" TypeName="*" Safe="True" />
</SafeControls>
</Assembly>
<Assembly Location="log4net.dll" DeploymentTarget="WebApplication">
<SafeControls>
<SafeControl Assembly="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821"
Namespace="MyWebPart" TypeName="*" Safe="True" />
</SafeControls>
</Assembly>
</Assemblies>
<CodeAccessSecurity>
<PolicyItem>
<PermissionSet class="NamedPermissionSet" version="1" Name="MyWebPartPermissionSet"
Description="Permission set for My Web Part">
<IPermission class="AspNetHostingPermission" version="1" Level="Medium" />
<IPermission class="System.Net.DnsPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1" Unrestricted="true" />
<IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1" Read="$AppDir$" Write="$AppDir$" Append="$AppDir$" PathDiscovery="$AppDir$" />
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Execution" />
<IPermission class="Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1" ObjectModel="True" />
<IPermission class="Microsoft.SharePoint.Security.WebPartPermission, Microsoft.SharePoint.Security, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
version="1" Connections="True" />
<IPermission class="System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1">
<ConnectAccess>
<URI uri=".*"/>
</ConnectAccess>
</IPermission>
</PermissionSet>
<Assemblies>
<Assembly Name="MyWebPart" />
</Assemblies>
</PolicyItem>
<PolicyItem>
<PermissionSet class="NamedPermissionSet" version="1" Name="Log4NetForMyWebPart"
Description="Permission set for Log4Net (logging library used by the My Web Part">
<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="Execution" />
<IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1" Read="$AppDir$" Write="$AppDir$" Append="$AppDir$" PathDiscovery="$AppDir$" />
</PermissionSet>
<Assemblies>
<Assembly Name="log4net" />
</Assemblies>
</PolicyItem>
</CodeAccessSecurity>
</Solution>
vous devrez creuser dans la documentation de MS pour les autorisations dont vous avez besoin, car il m'a fallu un certain temps pour comprendre quels sont ceux que j'ai besoin.
Le .wsp fichier a été créé avec la commande:
cabarc -r -p N ..\MyWebPart-1.0.0.wsp *
(j'ai téléchargé cabarc sur le site Web de Microsoft, mais je ne me souviens pas exactement où)
Pour déployer la Solution Web Part dans SharePoint J'utilise ces commandes:
cd C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\bin
stsadm.exe -o addsolution -filename MyWebPart-1.0.0.wsp
stsadm.exe -o deploysolution -name MyWebPart-1.0.0.wsp -immediate -allcontenturls -allowCasPolicies
stsadm.exe -o execadmsvcjobs
Le tout Le paramètre owCasPolicies est nécessaire car la solution contient des stratégies CAS. Sans cela, ils ne seront pas ajoutés au fichier web.config de SharePoint.