Programmatically Add Site Template (.stp) to Share

2019-08-13 03:03发布

问题:

I would like to programmatically add a custom site template (.stp file) to a MOSS team site collection as part of my build process. Can anyone point me towards the best way to do this?

Thanks, MagicAndi.

回答1:

A way of doing this with a feature would be to use the File element. STP files live in /_catalogs/wt so this type of feature will upload the file.

Update: More details in Create Feature to Upload Site Template File (.stp) in MOSS but for completeness here is the elements.xml:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <Module Name="TeamSiteTemplate" List="111" Url="_catalogs/wt">
        <File Url="TeamSiteTemplate.stp" Type="GhostableInLibrary">
            <Property Name="LanguageDisplay" Value="English" />
            <Property Name="Version" Value="3" />
        </File>
    </Module>
</Elements>


回答2:

It looks like a simple batch file calling the STSADM tool with the -AddTemplate parameter is one option for this. The command is:

stsadm -o addtemplate -filename c:\template.stp -title "Template Title" -description "Template Description"

You can also delete an existing template using the command:

stsadm -o deletetemplate -title "Template title" 

See this article for further details



回答3:

to be more accurate: "stsadm -o addtemplate" adds the site template in the "central template gallery" not to a specific MOSS team site collection i.e. in the "site collection template gallery"; I think this can be a relevant difference in some (large) environment where could be advisable narrow the available template per sitecollection.

Installing application templates for Windows SharePoint Services 3.0