3 out of 4 rated this helpful - Rate this topic

Solution Schema

Windows SharePoint Services 3

A solution manifest file defines the constituent parts of a solution, including its files, assemblies, code access security, Web Parts, Features, site definitions, and other resources.

Solution

  ApplicationResourceFiles

    ApplicationResourceFile

  Assemblies

    Assembly

      SafeControls

        SafeControl

      ClassResources

        ClassResource

  CodeAccessSecurity

    PolicyItem

      PermissionSet

        IPermission

      Assemblies

        Assembly

  DwpFiles

    DwpFile

  FeatureManifests

    FeatureManifest

  Resources

    Resource

  RootFiles

    RootFile

  SiteDefinitionManifests

    SiteDefinitionManifest

      WebTempFile

  TemplateFiles

    TemplateFile

Example

The following example shows a solution manifest file that includes declarations for Features, site definition files, and assemblies.

<Solution SolutionId="4AFC1350-F354-4439-B941-51377E845F2B" 
  xmlns="http://schemas.microsoft.com/sharepoint/">
  <FeatureManifests>
    <FeatureManifest Location="Calls\feature.xml"/>
    <FeatureManifest Location="ServiceRequest\feature.xml"/>
    <FeatureManifest Location="Customers\feature.xml"/>
    <FeatureManifest Location="HelpDeskCore\feature.xml"/>
  </FeatureManifests>
  <TemplateFiles>
    <TemplateFile Location="Mobile\HelpDeskHomePage.ascx"/>
    <TemplateFile Location="1033\xml\webtemphd.xml"/>
    <TemplateFile Location="SiteTemplates\HelpDesk\onet.xml"/>
    <TemplateFile Location="SiteTemplates\HelpDesk\default.aspx"/>
  </TemplateFiles>
  <Assemblies>
    <Assembly DeploymentTarget="GlobalAssemblyCache"
      Location="HelpDeskCoreFeatureReceiver.dll"/>
    <Assembly DeploymentTarget="WebApplication"
      Location="ServiceRequestValidation.dll"/>
  </Assemblies>
</Solution>

The following example shows a manifest for a solution that includes two Features, a single site definition manifest, and a single resource.

<Solution SolutionId="7AFC4320-F354-6439-B745-77387E847F2H" 
  xmlns="http://schemas.microsoft.com/sharepoint/">
  <FeatureManifests>
    <FeatureManifest Location="MyFeature\feature.xml"/>
    <FeatureManifest Location="OtherFeature\otherfeat.xml"/>
  </FeatureManifests>
  <SiteDefinitionManifests>
    <SiteDefinitionManifest Location="STS">
      <WebTempFile Location="1033\STS\webtempSTS.xml"/>
    </SiteDefinitionManifest>
  </SiteDefinitionManifests>
  <Resources>
    <Resource Location="FeatureName\Resources.ja-ja.resx"/>
  </Resources>
</Solution>
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
How does the manifest.xml tell sharepoint about the destination
I can see that the location attribute in <TemplateFiles> specifies the source location within the solution. However how does sharepoint know where within 12 hive it is supposed to store these files? Where are we specifying this data?
[tfl - 07 04 10] Hi - and thanks for your post. You should post questions like this to the MSDN Forums at http://forums.microsoft.com/msdn or the MSDN Newsgroups at http://www.microsoft.com/communities/newsgroups/en-us/. You are much more likely get a quicker response using the forums than through the Community Content. For specific help about:
Visual Studio : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.vstudio%2C&
SQL Server : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.sqlserver%2C&
.NET Framework : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.dotnet.framework
PowerShell : http://groups.google.com/group/microsoft.public.windows.powershell/topics?pli=1
All Public : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public%2C&

Re:Syntax for MakeCab ddf files
Since lines in DDF files have restrictions as far as character length is concerned one should not use the method (source and destination). Please use
///
.Set DestinationDir
///
instead.
Syntax for MakeCab ddf files

Instead of :

.Set DestinationDir=Resources
Test.resx

You can write:

Test.resx Resources\Test.resx

Sample for RootFile and ApplicationResourceFile

If you haven't found out by trying, here is what I found out:

Files which are specified under ApplicationResourceFile like so:

<ApplicationResourceFiles>
    <ApplicationResourceFile Location="MyFiles\My.resx" />
</ApplicationResourceFile>

a) have to be located in a MyFiles folder within the .wsp cabinet and 

b) will be deployed to a directory relative to the Virtual Server root directory, i.e. to C:\Inetpub\wwwroot\wss\VirtualDirectories\80\resources\MyFiles

Your .ddf for the cab file creation file would look like this:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.OPTION Explicit ; Generate errors
.Set CabinetNameTemplate=TestResources.wsp
.Set DiskDirectoryTemplate=CDROM
.Set CompressionType=MSZIP
.Set UniqueFiles=Off
.Set Cabinet=On
.Set DiskDirectory1=.

manifest.xml

.Set DestinationDir=MyFiles
My.resx

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

In order to deploy files to the C:\...\12\Resources folder (or to any other folder beneath the 12 hive), you need to use the RootFile element like so:

  <RootFiles>
    <RootFile Location="Resources\Test.resx" />
    <RootFile Location="Resources\Test.de-DE.resx" />
  </RootFiles>

In this case, you also have to assure that the folder ein your .wsp cabinet is the same folder which will be the relative folder in relation to the 12 folder.

Your .ddf for the cab file creation file would look like this:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.OPTION Explicit ; Generate errors
.Set CabinetNameTemplate=TestResources.wsp
.Set DiskDirectoryTemplate=CDROM
.Set CompressionType=MSZIP
.Set UniqueFiles=Off
.Set Cabinet=On
.Set DiskDirectory1=.

manifest.xml

.Set DestinationDir=Resources
Test.resx
Test.de-de.resx

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;