我要做的就是部署一个简单的Web应用程序范围的功能,在安装时会自动激活。为了确保我们的企业自定义没有做任何奇怪的事情我甚至创建了一个简单的测试Web应用程序功能并使用WSP构建器构建它,但我仍然得到相同的结果 - 该功能安装正常但默认情况下未激活。我还将“AutoActivateInCentralAdmin”设置为true,但它什么也没做。这是甚至可以做的事情还是我在浪费时间?这是我的特色XML:
<?xml version="1.0" encoding="utf-8" ?>
<Feature Id="21003D96-D88E-42ed-AF97-2C4C22BFA3CF"
Title="Test Web Application Feature"
Description="I should be activated by default."
Version="1.0.0.0"
Scope="WebApplication"
Hidden="false"
xmlns="http://schemas.microsoft.com/sharepoint/"
ActivateOnDefault="true"
AutoActivateInCentralAdmin="true"
AlwaysForceInstall="true">
</Feature>
答案 0 :(得分:4)
ActivateOnDefault属性仅用于具有Farm Scope的功能,默认情况下会自动激活,但您可以通过将ActivateOnDefault指定为False来关闭它
AutoActivateInCentralAdmin适用于所有其他范围,但仅激活CentralAdmin(WebApp,站点或RootWeb)上的功能
如果您希望在所有WebApp上自动激活具有WebApp范围的功能,那么您需要具有FarmLevel功能,该功能具有在所有Web应用程序上循环并激活它的功能接收器,但不包括将来的WebApp 如果您想要包含未来的webapp,那么您需要将功能装订与具有站点/ Web范围的功能一起使用,如果尚未激活,则激活WebApp功能。
答案 1 :(得分:1)
按照说法,功能定位是要走的路。
答案 2 :(得分:1)
请检查:http://msdn.microsoft.com/en-us/library/ms436075.aspx
<强> ActivateOnDefault 强> 可选布尔值。如果在安装期间或创建Web应用程序时默认激活功能,则为TRUE;如果未激活功能,则为FALSE。默认情况下,此属性等于TRUE。 ActivateOnDefault属性不适用于网站集(网站)或网站(Web)范围的功能。 通常,在安装过程中会激活场范围的功能,并且在创建新的Web应用程序时,其中所有已安装的Web应用程序范围的功能都将被激活。
<强> AutoActivateInCentralAdmin 强> 可选布尔值。如果在管理网站,网站集或Web应用程序中默认激活功能,则为TRUE。默认情况下,此属性等于FALSE。 AutoActivateInCentralAdmin属性不适用于场范围的功能。