This commit is contained in:
ruslanht 2012-12-24 13:03:37 +02:00
commit f2bdb13d34
7 changed files with 48 additions and 39 deletions

View file

@ -1230,7 +1230,15 @@ GO
-- Remove ExchangeHostedEdition Quotas
DELETE FROM HostingPlanQuotas WHERE QuotaID = 340
GO
DELETE FROM HostingPlanQuotas WHERE QuotaID = 341
GO
DELETE FROM HostingPlanQuotas WHERE QuotaID = 342
GO
DELETE FROM HostingPlanQuotas WHERE QuotaID = 343
GO
-- Remove ExchangeHostedEdition Quotas -- Remove ExchangeHostedEdition Quotas
@ -1243,6 +1251,8 @@ GO
DELETE FROM Quotas WHERE QuotaID = 343 DELETE FROM Quotas WHERE QuotaID = 343
GO GO
DELETE FROM HostingPlanResources WHERE GroupID = 33
GO
-- Remove ExchangeHostedEdition ServiceItemType -- Remove ExchangeHostedEdition ServiceItemType
DELETE FROM ServiceItemTypes WHERE ItemTypeID = 40 DELETE FROM ServiceItemTypes WHERE ItemTypeID = 40

View file

@ -39,7 +39,7 @@ using WebsitePanel.Server.Utils;
using WebsitePanel.Providers.Utils; using WebsitePanel.Providers.Utils;
using WebsitePanel.Providers; using WebsitePanel.Providers;
using System.Reflection; using System.Reflection;
using System.Data.Common;
namespace WebsitePanel.Providers.Database namespace WebsitePanel.Providers.Database
{ {
@ -129,49 +129,36 @@ namespace WebsitePanel.Providers.Database
static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{ {
//
//
if (!args.Name.Contains("MySql.Data")) if (!args.Name.Contains("MySql.Data"))
return null; return null;
if (args.Name.Contains("MySql.Data.resources"))
return null;
// //
string connectorKeyName = "SOFTWARE\\MySQL AB\\MySQL Connector/Net"; string connectorKeyName = "SOFTWARE\\MySQL AB\\MySQL Connector/Net";
string connectorLocation = String.Empty;
string connectorVersion = String.Empty; string connectorVersion = String.Empty;
// //
if (PInvoke.RegistryHive.HKLM.SubKeyExists_x86(connectorKeyName)) if (PInvoke.RegistryHive.HKLM.SubKeyExists_x86(connectorKeyName))
{ {
connectorLocation = PInvoke.RegistryHive.HKLM.GetSubKeyValue_x86(connectorKeyName, "Location");
connectorVersion = PInvoke.RegistryHive.HKLM.GetSubKeyValue_x86(connectorKeyName, "Version"); connectorVersion = PInvoke.RegistryHive.HKLM.GetSubKeyValue_x86(connectorKeyName, "Version");
} }
//
if (String.IsNullOrEmpty(connectorLocation))
{
Log.WriteInfo("Connector location is either null or empty");
return null;
}
string assemblyFile = args.Name.Split(',')[0] + ".dll";
// 1st location
string assemblyPath = Path.Combine(connectorLocation, @"Binaries\.NET 2.0\" + assemblyFile);
if (!File.Exists(assemblyPath)) string assemblyFullName = string.Format("MySql.Data, Version={0}.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d", connectorVersion);
if (assemblyFullName == args.Name)
{ {
// 2nd location return null; //avoid of stack overflow
assemblyPath = Path.Combine(connectorLocation, @"Assemblies\" + assemblyFile);
if (!File.Exists(assemblyPath))
{
// 3rd location
assemblyPath = Path.Combine(connectorLocation, @"Assemblies\v2.0" + assemblyFile);
if (!File.Exists(assemblyPath))
{
Log.WriteInfo("Connector assembly could not be found or does not exist");
return null; // sorry, cannot find
}
}
} }
return Assembly.LoadFrom(assemblyPath);
return Assembly.Load(assemblyFullName);
} }
#endregion #endregion
@ -185,8 +172,14 @@ namespace WebsitePanel.Providers.Database
public virtual bool CheckConnectivity(string databaseName, string username, string password) public virtual bool CheckConnectivity(string databaseName, string username, string password)
{ {
MySqlConnection conn = new MySqlConnection(String.Format("server={0};port={1};database={2};uid={3};password={4}", MySqlConnection conn = new MySqlConnection(
ServerName, ServerPort, databaseName, username, password)); String.Format("server={0};port={1};database={2};uid={3};password={4}",
ServerName,
ServerPort,
databaseName,
username,
password)
);
try try
{ {
conn.Open(); conn.Open();

View file

@ -32,7 +32,7 @@ using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Data; using System.Data;
using Microsoft.Win32; using Microsoft.Win32;
using MySql.Data.MySqlClient; //using MySql.Data.MySqlClient;
using System.IO; using System.IO;
using WebsitePanel.Server.Utils; using WebsitePanel.Server.Utils;

View file

@ -4868,7 +4868,7 @@
<value>Web site "{1}" was not found</value> <value>Web site "{1}" was not found</value>
</data> </data>
<data name="Warning.WAG_CANNOT_INSTALL_APPLICATION" xml:space="preserve"> <data name="Warning.WAG_CANNOT_INSTALL_APPLICATION" xml:space="preserve">
<value>Selected application cannot be installed.</value> <value>Following dependencies may be missing:</value>
</data> </data>
<data name="WebAppGallery.AspNet20Required" xml:space="preserve"> <data name="WebAppGallery.AspNet20Required" xml:space="preserve">
<value>ASP.NET 2.0</value> <value>ASP.NET 2.0</value>

View file

@ -223,7 +223,7 @@ namespace WebsitePanel.Portal.ProviderControls
wpiEditFeedsList.Value = settings["FeedUrls"]; wpiEditFeedsList.Value = settings["FeedUrls"];
FilteredAppIds = settings["GalleryAppsFilter"]; FilteredAppIds = settings["GalleryAppsFilter"];
radioFilterAppsList.SelectedIndex = Utils.ParseInt(settings["GalleryAppsFilterMode"], 0); radioFilterAppsList.SelectedIndex = Utils.ParseInt(settings["GalleryAppsFilterMode"], 0);
chkGalleryAppsAlwaysIgnoreDependencies.Checked = Utils.ParseBool(settings["GalleryAppsAlwaysIgnoreDependencies"], true); chkGalleryAppsAlwaysIgnoreDependencies.Checked = Utils.ParseBool(settings["GalleryAppsAlwaysIgnoreDependencies"], false);
} }
public void SaveSettings(StringDictionary settings) public void SaveSettings(StringDictionary settings)

View file

@ -16,7 +16,8 @@
<asp:CheckBox ID="chIgnoreDependencies" runat="server" <asp:CheckBox ID="chIgnoreDependencies" runat="server"
Text="Ignore dependency fail and install selected product anyway." Visible="false" AutoPostBack="True" Text="Ignore dependency fail and install selected product anyway." Visible="false" AutoPostBack="True"
oncheckedchanged="chIgnoreDependencies_CheckedChanged" /> oncheckedchanged="chIgnoreDependencies_CheckedChanged" />
</div> </div>
<div class="FormFooter"> <div class="FormFooter">
<asp:Button ID="btnInstall" runat="server" meta:resourcekey="btnInstall" Text="Install" CssClass="Button1" OnClick="btnInstall_Click" OnClientClick="ShowProgressDialog('Installing application...');"/> <asp:Button ID="btnInstall" runat="server" meta:resourcekey="btnInstall" Text="Install" CssClass="Button1" OnClick="btnInstall_Click" OnClientClick="ShowProgressDialog('Installing application...');"/>

View file

@ -64,9 +64,14 @@ namespace WebsitePanel.Portal
if (appResult.ErrorCodes.Count > 0) if (appResult.ErrorCodes.Count > 0)
{ {
// app does not meet requirements // app does not meet requirements
if (appResult.ErrorCodes.Count > 1)
{
// remove "- Your hosting package does not meet..." message
appResult.ErrorCodes.RemoveAt(0);
}
messageBox.ShowMessage(appResult, "WAG_CANNOT_INSTALL_APPLICATION", "WebAppGallery"); messageBox.ShowMessage(appResult, "WAG_CANNOT_INSTALL_APPLICATION", "WebAppGallery");
chIgnoreDependencies.Visible = true; chIgnoreDependencies.Visible = false;
btnInstall.Enabled = false; btnInstall.Enabled = true;
} }
} }
catch (Exception ex) catch (Exception ex)