Sharepoint 2010定制网站模板时,由于操作时可能有一些不需要的功能历史信息,导出时会包含进wsp文件,如果部署到新的站点上,由于没有依赖会出错,此时我们可以通过手工简单的修改一下即可

模版制作

这个参考MSDN或使用Sharepoint Designer设计和导出即可

模版定制

1、在SPD中把网站保存为模版,注意以 如下形式 命名
    如 http://***/demo/_layouts/savetmpl.aspx
    文件名:    demo
    模板名称:  演示

    模板说明:  演示站点模版
        包含内容根据需要勾选

[这样命名修改和压缩时不用修改了]
2、在站点集根网站,解决方案中下载demo.wsp

3、使用winrar打开demo.wsp,并解压到一个独立的目录如本方案的pkg目录[cab.bat cab.ddf在一起]
4、修改不需要的依赖内容,主要有:
demoWebTemplate\demo\ONet.xml 删除不必要的Feature
demoListInstances\ElementsContentType.xml 删除不必要的内容类型
demoListInstances\ElementsFields.xml  删除不必要的字段
[产生以上信息的原因:导出的模版站点定制时新建了内容类型等,但SPD中删除不干净]

*****模版的ID和名称可读性修改
demoWebTemplate\Feature.xml 的内容修改如下
<Feature Id="{beaf1bd1-269d-4f25-bf98-d4b799d39f5c}" Title="##模版"
demoWebTemplate\Elements.xml 的内容修改如下
    <WebTemplate 。。。 Description="##站点模版" Title="$$$"  。。/>

5、执行cab.bat进行打包,会生成出不依赖的demo.wsp

6、代码中的依赖处
       如果使用代码建立这个模板形式的网站,只要把demo.wsp的GUID和代码一致起来就行

使用

具体wsp激活后,在站点集功能下: demo模版 这个Feature激活,此时可以使用这个模版新建站点

参考

cabsdk.exe MSDN官方的参考,包括makecab的格式详细说明
    注:xsn文件和wsp都是这种格式,微软自定义的比zip压缩率更高的一种格式
MakeCab_GUI.exe
    可以打开和查看wsp文件
    注:另存出来的sharepoint不识别[文件头这个工具加了一些特殊信息]

cab.bat

makecab /f cab.ddf

 

cab.ddf

;
.OPTION EXPLICIT     ; Generate errors
.Set CabinetNameTemplate=演示模板.wsp
;.set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory
.Set CompressionType=MSZIP;** All files are compressed in cabinet files
.Set UniqueFiles="ON"
.Set Cabinet=on
.Set DiskDirectory1=.
;Microsoft.LearningComponents.resources.dll               Microsoft.LearningComponents.resources.dll

manifest.xml

demoListInstances\Elements.xml demoListInstances\Elements.xml
demoListInstances\ElementsContentType.xml demoListInstances\ElementsContentType.xml
demoListInstances\ElementsFields.xml demoListInstances\ElementsFields.xml
demoListInstances\Feature.xml demoListInstances\Feature.xml
demoListInstances\Files\busi\Schema.xml demoListInstances\Files\busi\Schema.xml
demoListInstances\Files\files\Schema.xml demoListInstances\Files\files\Schema.xml
demoListInstances\Files\Lists\elec\Schema.xml demoListInstances\Files\Lists\elec\Schema.xml
demoListInstances\Files\Lists\tasks\Schema.xml demoListInstances\Files\Lists\tasks\Schema.xml
demoListInstances\Files\order\Schema.xml demoListInstances\Files\order\Schema.xml
demoListInstances\Files\sched\Schema.xml demoListInstances\Files\sched\Schema.xml
demoListInstances\Files\_catalogs\masterpage\Schema.xml demoListInstances\Files\_catalogs\masterpage\Schema.xml
demoListInstances\resources\resources.zh-CN.resx demoListInstances\resources\resources.zh-CN.resx

demoListInstances\Files\_catalogs\fpdatasources\Schema.xml demoListInstances\Files\_catalogs\fpdatasources\Schema.xml
demoListInstances\Files\Lists\List\Schema.xml demoListInstances\Files\Lists\List\Schema.xml
demoListInstances\Files\Workflows\Schema.xml demoListInstances\Files\Workflows\Schema.xml

demoModules\Elements.xml demoModules\Elements.xml
demoModules\Feature.xml demoModules\Feature.xml
demoModules\resources\resources.zh-CN.resx demoModules\resources\resources.zh-CN.resx

demoModules\Files\Workflows\8\10_V1.vdw demoModules\Files\Workflows\8\10_V1.vdw           
demoModules\Files\Workflows\8\11.xoml demoModules\Files\Workflows\8\11.xoml             
demoModules\Files\Workflows\8\12.xoml.rules demoModules\Files\Workflows\8\12.xoml.rules       
demoModules\Files\Workflows\8\13.xsn demoModules\Files\Workflows\8\13.xsn              
demoModules\Files\Workflows\8\14.xsn demoModules\Files\Workflows\8\14.xsn              
demoModules\Files\Workflows\8\7.xoml.wfconfig.xml demoModules\Files\Workflows\8\7.xoml.wfconfig.xml 
demoModules\Files\Workflows\8\9.xsn demoModules\Files\Workflows\8\9.xsn               
demoModules\Files\Workflows\16\15.xsn demoModules\Files\Workflows\16\15.xsn             
demoModules\Files\Workflows\16\17.xsn demoModules\Files\Workflows\16\17.xsn             
demoModules\Files\Workflows\16\18.xsn demoModules\Files\Workflows\16\18.xsn             
demoModules\Files\Workflows\16\19.xoml.rules demoModules\Files\Workflows\16\19.xoml.rules      
demoModules\Files\Workflows\16\20.xsn demoModules\Files\Workflows\16\20.xsn             
demoModules\Files\Workflows\16\21_V1.vdw demoModules\Files\Workflows\16\21_V1.vdw          
demoModules\Files\Workflows\16\22.xsn demoModules\Files\Workflows\16\22.xsn             
demoModules\Files\Workflows\16\23.xoml demoModules\Files\Workflows\16\23.xoml            
demoModules\Files\Workflows\16\24.xoml.wfconfig.xml demoModules\Files\Workflows\16\24.xoml.wfconfig.xml
demoModules\Files\Workflows\16\25.xsn demoModules\Files\Workflows\16\25.xsn             
demoModules\Files\Workflows\16\26.xsn demoModules\Files\Workflows\16\26.xsn             
demoModules\Files\Workflows\2\1.xoml demoModules\Files\Workflows\2\1.xoml              
demoModules\Files\Workflows\2\3_V1.vdw demoModules\Files\Workflows\2\3_V1.vdw          
demoModules\Files\Workflows\2\4.xsn demoModules\Files\Workflows\2\4.xsn             
demoModules\Files\Workflows\2\5.xsn demoModules\Files\Workflows\2\5.xsn             
demoModules\Files\Workflows\2\6.xoml.wfconfig.xml demoModules\Files\Workflows\2\6.xoml.wfconfig.xml

demoPropertyBags\Elements.xml demoPropertyBags\Elements.xml
demoPropertyBags\Feature.xml demoPropertyBags\Feature.xml
demoPropertyBags\resources\resources.zh-CN.resx demoPropertyBags\resources\resources.zh-CN.resx

demoWebTemplate\Elements.xml demoWebTemplate\Elements.xml
demoWebTemplate\Feature.xml demoWebTemplate\Feature.xml
demoWebTemplate\demo\ONet.xml demoWebTemplate\demo\ONet.xml
demoWebTemplate\resources\resources.zh-CN.resx demoWebTemplate\resources\resources.zh-CN.resx

demoWorkflows\Elements.xml demoWorkflows\Elements.xml
demoWorkflows\Feature.xml demoWorkflows\Feature.xml
demoWorkflows\resources\resources.zh-CN.resx demoWorkflows\resources\resources.zh-CN.resx

;*** <the end>