#At file:///D:/Users/jcasalt/Dev/connector-net/features/Bug54607/ based on revid:reggie.burnett@stripped
894 Julio Casal 2011-05-30
Added Visual Studio DDEX support for Compact Framework projects (MySQL bug #54607, Oracle bug #12605152).
modified:
CHANGES
Installer/VS2005_Data.wxi
Installer/VS2008_Data.wxi
Installer/cf.wxs
Installer/register.cmd
Installer/unregister.cmd
MySql.Data/Provider/Properties/AssemblyInfo.cs
MySql.VisualStudio/MyInstaller.cs
=== modified file 'CHANGES'
--- a/CHANGES 2011-05-26 18:15:34 +0000
+++ b/CHANGES 2011-05-30 20:19:24 +0000
@@ -44,6 +44,7 @@
- Fixed MembershipProvider to only return exact matches when calling GetUser(string username) and
GetUserNameByEmail (MySQL bug #61027, Oracle bug #12562287).
- added the ability to raise a join on the right side of a join to a derived table in EF code generation (bug #48791)
+- Added Visual Studio DDEX support for Compact Framework projects (MySQL bug #54607, Oracle bug #12605152).
Version 6.1.5
- Fix authorization popup after modifying stored procedure in VS (Bug #44715)
=== modified file 'Installer/VS2005_Data.wxi'
--- a/Installer/VS2005_Data.wxi 2008-09-11 21:51:02 +0000
+++ b/Installer/VS2005_Data.wxi 2011-05-30 20:19:24 +0000
@@ -28,6 +28,28 @@
<RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
Key="Software\Microsoft\VisualStudio\8.0\DataProviders\{c6882346-e592-4da5-80ba-d2eadcda0359}\SupportedObjects\DataViewSupport"/>
+ <!--Compact Framework Providers-->
+ <RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
+ Key="Software\Microsoft\.NETCompactFramework\v2.0.3600\PocketPC\DataProviders\{c6882346-e592-4da5-80ba-d2eadcda0359}">
+ <RegistryValue Value=".NET Framework Data Provider for MySQL" Type="string"/>
+ <RegistryValue Name="InvariantName" Value="MySql.Data.MySqlClient" Type="string"/>
+ <RegistryValue Name="RuntimeAssembly" Value="MySql.Data.CF.dll" Type="string"/>
+ </RegistryKey>
+
+ <RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
+ Key="Software\Microsoft\.NETCompactFramework\v2.0.3600\SmartPhone\DataProviders\{c6882346-e592-4da5-80ba-d2eadcda0359}">
+ <RegistryValue Value=".NET Framework Data Provider for MySQL" Type="string"/>
+ <RegistryValue Name="InvariantName" Value="MySql.Data.MySqlClient" Type="string"/>
+ <RegistryValue Name="RuntimeAssembly" Value="MySql.Data.CF.dll" Type="string"/>
+ </RegistryKey>
+
+ <RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
+ Key="Software\Microsoft\.NETCompactFramework\v2.0.3600\WindowsCE\DataProviders\{c6882346-e592-4da5-80ba-d2eadcda0359}">
+ <RegistryValue Value=".NET Framework Data Provider for MySQL" Type="string"/>
+ <RegistryValue Name="InvariantName" Value="MySql.Data.MySqlClient" Type="string"/>
+ <RegistryValue Name="RuntimeAssembly" Value="MySql.Data.CF.dll" Type="string"/>
+ </RegistryKey>
+
<!-- DataSources -->
<RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
Key="Software\Microsoft\VisualStudio\8.0\DataSources\{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}">
=== modified file 'Installer/VS2008_Data.wxi'
--- a/Installer/VS2008_Data.wxi 2008-09-11 21:51:02 +0000
+++ b/Installer/VS2008_Data.wxi 2011-05-30 20:19:24 +0000
@@ -28,6 +28,28 @@
<RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
Key="Software\Microsoft\VisualStudio\9.0\DataProviders\{c6882346-e592-4da5-80ba-d2eadcda0359}\SupportedObjects\DataViewSupport"/>
+ <!--Compact Framework Providers-->
+ <RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
+ Key="Software\Microsoft\.NETCompactFramework\v3.5.0.0\PocketPC\DataProviders\{c6882346-e592-4da5-80ba-d2eadcda0359}">
+ <RegistryValue Value=".NET Framework Data Provider for MySQL" Type="string"/>
+ <RegistryValue Name="InvariantName" Value="MySql.Data.MySqlClient" Type="string"/>
+ <RegistryValue Name="RuntimeAssembly" Value="MySql.Data.CF.dll" Type="string"/>
+ </RegistryKey>
+
+ <RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
+ Key="Software\Microsoft\.NETCompactFramework\v3.5.0.0\SmartPhone\DataProviders\{c6882346-e592-4da5-80ba-d2eadcda0359}">
+ <RegistryValue Value=".NET Framework Data Provider for MySQL" Type="string"/>
+ <RegistryValue Name="InvariantName" Value="MySql.Data.MySqlClient" Type="string"/>
+ <RegistryValue Name="RuntimeAssembly" Value="MySql.Data.CF.dll" Type="string"/>
+ </RegistryKey>
+
+ <RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
+ Key="Software\Microsoft\.NETCompactFramework\v3.5.0.0\WindowsCE\DataProviders\{c6882346-e592-4da5-80ba-d2eadcda0359}">
+ <RegistryValue Value=".NET Framework Data Provider for MySQL" Type="string"/>
+ <RegistryValue Name="InvariantName" Value="MySql.Data.MySqlClient" Type="string"/>
+ <RegistryValue Name="RuntimeAssembly" Value="MySql.Data.CF.dll" Type="string"/>
+ </RegistryKey>
+
<!-- DataSources -->
<RegistryKey Root="HKLM" Action="createAndRemoveOnUninstall"
Key="Software\Microsoft\VisualStudio\9.0\DataSources\{98FBE4D8-5583-4233-B219-70FF8C7FBBBD}">
=== modified file 'Installer/cf.wxs'
--- a/Installer/cf.wxs 2009-07-28 20:00:05 +0000
+++ b/Installer/cf.wxs 2011-05-30 20:19:24 +0000
@@ -4,7 +4,7 @@
<DirectoryRef Id='AssembliesDir'>
<Component Id="CFBinaries" Guid="5a9c32ad-62f5-4b24-a225-96acf42d88a1">
<File Id="cf1" Name="MySql.Data.CF.dll"
- Source="..\mysql.data\provider\bin\release\mysql.data.CF.dll" DiskId="1"/>
+ Source="..\mysql.data\provider\bin\release\mysql.data.CF.dll" DiskId="1" Assembly=".net" KeyPath="yes"/>
</Component>
</DirectoryRef>
=== modified file 'Installer/register.cmd'
--- a/Installer/register.cmd 2009-08-18 03:15:12 +0000
+++ b/Installer/register.cmd 2011-05-30 20:19:24 +0000
@@ -5,17 +5,20 @@ IF [%1] == [] GOTO Usage
REM Make sure our files are ready
IF NOT EXIST MySql.Data\provider\bin\debug\mysql.data.dll GOTO NOTREADY
+IF NOT EXIST MySql.Data\provider\bin\debug\mysql.data.CF.dll GOTO NOTREADY
IF NOT EXIST MySql.Web\providers\bin\debug\mysql.web.dll GOTO NOTREADY
IF NOT EXIST mysql.visualstudio\bin\debug\mysql.visualstudio.dll GOTO NOTREADY
IF NOT %1 == 2005 AND NOT EXIST MySql.Data.Entity\provider\bin\debug\mysql.data.entity.dll GOTO NOTREADY
REM Unregister our assemblies (this will work if they are not registered)
gacutil /u mysql.data
+gacutil /u mysql.data.cf
gacutil /u mysql.web
gacutil /u mysql.data.entity
REM Now register the core assembly
gacutil /i MySql.Data\provider\bin\debug\mysql.data.dll
+gacutil /i MySql.Data\provider\bin\debug\mysql.data.CF.dll
installutil mysql.data\provider\bin\debug\mysql.data.dll
REM Register web assembly
=== modified file 'Installer/unregister.cmd'
--- a/Installer/unregister.cmd 2009-08-18 03:38:55 +0000
+++ b/Installer/unregister.cmd 2011-05-30 20:19:24 +0000
@@ -5,12 +5,14 @@ IF [%1] == [] GOTO Usage
REM Make sure our files are ready
IF NOT EXIST MySql.Data\provider\bin\debug\mysql.data.dll GOTO NOTREADY
+IF NOT EXIST MySql.Data\provider\bin\debug\mysql.data.CF.dll GOTO NOTREADY
IF NOT EXIST MySql.Web\providers\bin\debug\mysql.web.dll GOTO NOTREADY
IF NOT EXIST mysql.visualstudio\bin\debug\mysql.visualstudio.dll GOTO NOTREADY
IF NOT %1 == 2005 AND NOT EXIST MySql.Data.Entity\provider\bin\debug\mysql.data.entity.dll GOTO NOTREADY
REM Unregister our assemblies (this will work if they are not registered)
gacutil /u mysql.data
+gacutil /u mysql.data.cf
gacutil /u mysql.web
REM Now uninstall the core assembly
=== modified file 'MySql.Data/Provider/Properties/AssemblyInfo.cs'
--- a/MySql.Data/Provider/Properties/AssemblyInfo.cs 2011-05-10 23:12:53 +0000
+++ b/MySql.Data/Provider/Properties/AssemblyInfo.cs 2011-05-30 20:19:24 +0000
@@ -75,4 +75,8 @@ using System.Security;
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyName("ConnectorNet")]
[assembly: InternalsVisibleTo("MySql.Data.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1")]
-[assembly: InternalsVisibleTo("MySql.Data.CF.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1")]
\ No newline at end of file
+[assembly: InternalsVisibleTo("MySql.Data.CF.Tests, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100d973bda91f71752c78294126974a41a08643168271f65fc0fb3cd45f658da01fbca75ac74067d18e7afbf1467d7a519ce0248b13719717281bb4ddd4ecd71a580dfe0912dfc3690b1d24c7e1975bf7eed90e4ab14e10501eedf763bff8ac204f955c9c15c2cf4ebf6563d8320b6ea8d1ea3807623141f4b81ae30a6c886b3ee1")]
+
+#if CF
+[assembly: AssemblyFlags(AssemblyNameFlags.Retargetable)]
+#endif
\ No newline at end of file
=== modified file 'MySql.VisualStudio/MyInstaller.cs'
--- a/MySql.VisualStudio/MyInstaller.cs 2009-11-10 22:14:55 +0000
+++ b/MySql.VisualStudio/MyInstaller.cs 2011-05-30 20:19:24 +0000
@@ -117,6 +117,20 @@ namespace MySql.Data.VisualStudio
dpKeySO.CreateSubKey("DataSourceInformation");
dpKeySO.CreateSubKey("DataViewSupport");
+ // Data Provider for the Compact Framework
+ string cfVersion = null;
+ if (version.Equals("8.0"))
+ cfVersion = "v2.0.3600";
+ if (version.Equals("9.0"))
+ cfVersion = "v3.5.0.0";
+
+ if (version.Equals("8.0") || version.Equals("9.0"))
+ {
+ CreateCompactFrameworkKey(rootKey, cfVersion, "PocketPC", GuidList.ProviderGUID.ToString("B"));
+ CreateCompactFrameworkKey(rootKey, cfVersion, "SmartPhone", GuidList.ProviderGUID.ToString("B"));
+ CreateCompactFrameworkKey(rootKey, cfVersion, "WindowsCE", GuidList.ProviderGUID.ToString("B"));
+ }
+
// Menus
keyPath = String.Format(@"Software\Microsoft\VisualStudio\{0}\Menus", version);
RegistryKey menuKey = rootKey.OpenSubKey(keyPath, true);
@@ -174,6 +188,15 @@ namespace MySql.Data.VisualStudio
autoLoadKey.SetValue(GuidList.PackageGUID.ToString("B"), 0);
}
+ private static void CreateCompactFrameworkKey(RegistryKey rootKey, string version, string platform, string providerGuid)
+ {
+ string keyPath = String.Format(@"Software\Microsoft\.NETCompactFramework\{0}\{1}\DataProviders\{2}", version, platform, providerGuid);
+ RegistryKey dpKey = rootKey.CreateSubKey(keyPath);
+ dpKey.SetValue(null, ".NET Framework Data Provider for MySQL");
+ dpKey.SetValue("InvariantName", "MySql.Data.MySqlClient");
+ dpKey.SetValue("RuntimeAssembly", "MySql.Data.CF.dll");
+ }
+
private void UnInstallInternal(string version)
{
RegistryKey rootKey = GetRootKey();
@@ -198,6 +221,20 @@ namespace MySql.Data.VisualStudio
rootKey.DeleteSubKeyTree(keyPath);
}
+ // Data Provider for the Compact Framework
+ string cfVersion = null;
+ if (version.Equals("8.0"))
+ cfVersion = "v2.0.3600";
+ if (version.Equals("9.0"))
+ cfVersion = "v3.5.0.0";
+
+ if (!string.IsNullOrEmpty(cfVersion))
+ {
+ RemoveCompactFrameworkKey(rootKey, cfVersion, "PocketPC", GuidList.ProviderGUID.ToString("B"));
+ RemoveCompactFrameworkKey(rootKey, cfVersion, "SmartPhone", GuidList.ProviderGUID.ToString("B"));
+ RemoveCompactFrameworkKey(rootKey, cfVersion, "WindowsCE", GuidList.ProviderGUID.ToString("B"));
+ }
+
// Menus
keyPath = String.Format(@"Software\Microsoft\VisualStudio\{0}\Menus", version);
RegistryKey menuKey = rootKey.OpenSubKey(keyPath, true);
@@ -251,5 +288,16 @@ namespace MySql.Data.VisualStudio
RegistryKey autoLoadKey = rootKey.OpenSubKey(keyPath, true);
autoLoadKey.DeleteValue(GuidList.PackageGUID.ToString("B"), false);
}
+
+ private static void RemoveCompactFrameworkKey(RegistryKey rootKey, string version, string platform, string providerGuid)
+ {
+ string keyPath = String.Format(@"Software\Microsoft\.NETCompactFramework\{0}\{1}\DataProviders\{2}", version, platform, providerGuid);
+ RegistryKey key = rootKey.OpenSubKey(keyPath);
+ if (key != null)
+ {
+ key.Close();
+ rootKey.DeleteSubKeyTree(keyPath);
+ }
+ }
}
}
Attachment: [text/bzr-bundle] bzr/julio.casal@oracle.com-20110530201924-y47hoesoieu1np29.bundle
| Thread |
|---|
| • bzr commit into connector-net-6.1 branch (julio.casal:894) Bug#54607Bug#12605152 | Julio Casal | 31 May |