diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs
index d93036a3..b83b08d0 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/Exchange2007.cs
@@ -67,6 +67,7 @@ namespace WebsitePanel.Providers.HostedSolution
#region Constants
private const string CONFIG_CLEAR_QUERYBASEDN = "WebsitePanel.Exchange.ClearQueryBaseDN";
+ private const string CONFIG_ENABLESP2ABP = "WebsitePanel.Exchange.enableSP2abp";
#endregion
#region Properties
@@ -841,11 +842,19 @@ namespace WebsitePanel.Providers.HostedSolution
info.OfflineAddressBook = oabId;
//create ABP
- string abpId = CreateAddressPolicy(runSpace, organizationId);
- transaction.RegisterNewAddressPolicy(abpId);
- ExchangeLog.LogInfo(" Address Policy: {0}", abpId);
- }
+ bool enableSP2abp = false;
+ if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null)
+ enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]);
+ Version exchangeVersion = GetExchangeVersion();
+
+ if (enableSP2abp && (exchangeVersion >= new Version(14, 2)))
+ {
+ string abpId = CreateAddressPolicy(runSpace, organizationId);
+ transaction.RegisterNewAddressPolicy(abpId);
+ ExchangeLog.LogInfo(" Address Policy: {0}", abpId);
+ }
+ }
catch (Exception ex)
{
ExchangeLog.LogError("CreateOrganizationOfflineAddressBookInternal", ex);
@@ -930,16 +939,27 @@ namespace WebsitePanel.Providers.HostedSolution
//delete ABP
- string adpstring = GetAddressPolicyName(organizationId);
- try
+ bool enableSP2abp = false;
+ if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null)
+ enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]);
+ Version exchangeVersion = GetExchangeVersion();
+
+ if (enableSP2abp && (exchangeVersion >= new Version(14, 2)))
{
- if (!string.IsNullOrEmpty(adpstring))
- DeleteAddressPolicy(runSpace, adpstring);
- }
- catch (Exception ex)
- {
- ret = false;
- ExchangeLog.LogError("Could not delete Address Policy " + globalAddressList, ex);
+
+
+ string adpstring = GetAddressPolicyName(organizationId);
+
+ try
+ {
+ if (!string.IsNullOrEmpty(adpstring))
+ DeleteAddressPolicy(runSpace, adpstring);
+ }
+ catch (Exception ex)
+ {
+ ret = false;
+ ExchangeLog.LogError("Could not delete Address Policy " + globalAddressList, ex);
+ }
}
//delete OAB
@@ -1770,6 +1790,7 @@ namespace WebsitePanel.Providers.HostedSolution
int attempts = 0;
string id = null;
+ Version exchangeVersion = GetExchangeVersion();
try
@@ -1828,7 +1849,13 @@ namespace WebsitePanel.Providers.HostedSolution
cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress);
cmd.Parameters.Add("PrimarySmtpAddress", upn);
cmd.Parameters.Add("WindowsEmailAddress", upn);
- cmd.Parameters.Add("AddressBookPolicy", adpstring);
+
+ bool enableSP2abp = false;
+ if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null)
+ enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]);
+ if (enableSP2abp && (exchangeVersion >= new Version(14, 2)))
+ cmd.Parameters.Add("AddressBookPolicy", adpstring);
+
cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false));
cmd.Parameters.Add("UseDatabaseRetentionDefaults", false);
cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB));
@@ -1849,7 +1876,6 @@ namespace WebsitePanel.Providers.HostedSolution
bool clearQueryBaseDN = false;
if (ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN] != null)
clearQueryBaseDN = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN]);
- Version exchangeVersion = GetExchangeVersion();
if (!(clearQueryBaseDN && (exchangeVersion >= new Version(14, 1))))
SetADObjectPropertyValue(mailbox, "msExchQueryBaseDN", globalAddressListDN);
@@ -1910,6 +1936,8 @@ namespace WebsitePanel.Providers.HostedSolution
ExchangeTransaction transaction = StartTransaction();
Runspace runSpace = null;
+ Version exchangeVersion = GetExchangeVersion();
+
try
{
runSpace = OpenRunspace();
@@ -1952,7 +1980,13 @@ namespace WebsitePanel.Providers.HostedSolution
cmd.Parameters.Add("CustomAttribute3", windowsEmailAddress);
cmd.Parameters.Add("PrimarySmtpAddress", upn);
cmd.Parameters.Add("WindowsEmailAddress", upn);
- cmd.Parameters.Add("AddressBookPolicy", adpstring);
+
+ bool enableSP2abp = false;
+ if (ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP] != null)
+ enableSP2abp = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_ENABLESP2ABP]);
+ if (enableSP2abp && (exchangeVersion >= new Version(14, 2)))
+ cmd.Parameters.Add("AddressBookPolicy", adpstring);
+
cmd.Parameters.Add("UseDatabaseQuotaDefaults", new bool?(false));
cmd.Parameters.Add("UseDatabaseRetentionDefaults", false);
cmd.Parameters.Add("IssueWarningQuota", ConvertKBToUnlimited(issueWarningKB));
@@ -1970,7 +2004,6 @@ namespace WebsitePanel.Providers.HostedSolution
bool clearQueryBaseDN = false;
if (ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN] != null)
clearQueryBaseDN = Boolean.Parse(ConfigurationManager.AppSettings[CONFIG_CLEAR_QUERYBASEDN]);
- Version exchangeVersion = GetExchangeVersion();
if (!(clearQueryBaseDN && (exchangeVersion >= new Version(14, 1))))
SetADObjectPropertyValue(mailbox, "msExchQueryBaseDN", globalAddressListDN);
diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj
index 70640894..dbdd2a0d 100644
--- a/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj
+++ b/WebsitePanel/Sources/WebsitePanel.Providers.HostedSolution/WebsitePanel.Providers.HostedSolution.csproj
@@ -15,7 +15,7 @@
3.5
- v4.0
+ v3.5
publish\
true
Disk
@@ -80,31 +80,31 @@
False
- ..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Common.dll
+ ..\..\Bin\Microsoft.Exchange.Common.dll
False
- ..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Data.dll
+ ..\..\Bin\Microsoft.Exchange.Data.dll
False
- ..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Data.Directory.dll
+ ..\..\Bin\Microsoft.Exchange.Data.Directory.dll
False
- ..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Data.Storage.dll
+ ..\..\Bin\Microsoft.Exchange.Data.Storage.dll
False
- ..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Diagnostics.dll
+ ..\..\Bin\Microsoft.Exchange.Diagnostics.dll
False
- ..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Extensibility.Internal.dll
+ ..\..\Bin\Microsoft.Exchange.Extensibility.Internal.dll
False
- ..\..\..\..\..\WebsitePanel.bak\WebsitePanel\Branches\1.2.0\Lib\References\Microsoft\Microsoft.Exchange.Net.dll
+ ..\..\Bin\Microsoft.Exchange.Net.dll
..\..\Lib\References\Microsoft\Microsoft.SharePoint.dll
@@ -123,6 +123,14 @@
+
+ False
+ ..\..\..\bin\WebsitePanel.Providers.Base.dll
+
+
+ False
+ ..\..\..\bin\WebsitePanel.Server.Utils.dll
+
@@ -145,16 +153,6 @@
-
-
- {684C932A-6C75-46AC-A327-F3689D89EB42}
- WebsitePanel.Providers.Base
-
-
- {E91E52F3-9555-4D00-B577-2B1DBDD87CA7}
- WebsitePanel.Server.Utils
-
-
diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Web.config b/WebsitePanel/Sources/WebsitePanel.Server/Web.config
index 133e5739..dacf072e 100644
--- a/WebsitePanel/Sources/WebsitePanel.Server/Web.config
+++ b/WebsitePanel/Sources/WebsitePanel.Server/Web.config
@@ -8,6 +8,8 @@
+
+