List:Commits« Previous MessageNext Message »
From:Julio Casal Date:May 30 2011 8:19pm
Subject:bzr commit into connector-net-6.1 branch (julio.casal:894) Bug#54607
Bug#12605152
View as plain text  
#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#12605152Julio Casal31 May