亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? installdesigner.cs

?? sqlite 3.3.8 支持加密的版本
?? CS
?? 第 1 頁 / 共 3 頁
字號:
                xmlNode = xmlDoc.CreateNode(XmlNodeType.Element, "add", "");
                xmlNode.Attributes.SetNamedItem(xmlDoc.CreateAttribute("name"));
                xmlNode.Attributes.SetNamedItem(xmlDoc.CreateAttribute("invariant"));
                xmlNode.Attributes.SetNamedItem(xmlDoc.CreateAttribute("description"));
                xmlNode.Attributes.SetNamedItem(xmlDoc.CreateAttribute("type"));
                xmlParent.AppendChild(xmlNode);
              }
            }
            xmlNode.Attributes.GetNamedItem("name").Value = "SQLite Data Provider";
            xmlNode.Attributes.GetNamedItem("invariant").Value = "System.Data.SQLite";
            xmlNode.Attributes.GetNamedItem("description").Value = ".Net Framework Data Provider for SQLite";
            xmlNode.Attributes.GetNamedItem("type").Value = "System.Data.SQLite.SQLiteFactory, " + SQLite.GetName().FullName;

            xmlDoc.Save(xmlFileName);
          }
          catch
          {
          }
        }
      }
      else // No checkboxes are checked, remove some global settings
      {
        try
        {
          Registry.LocalMachine.DeleteSubKey("Software\\Microsoft\\.NETFramework\\v2.0.50727\\AssemblyFoldersEx\\SQLite");

          for (int n = 0; n < compactFrameworks.Length; n++)
          {
            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\.NETCompactFramework\\v2.0.0.0\\{0}\\DataProviders", compactFrameworks[n]), true))
            {
              try
              {
                if (key != null) key.DeleteSubKey(standardDataProviderGuid.ToString("B"));
              }
              catch
              {
              }
            }
          }

          for (int n = 0; n < compactFrameworks.Length; n++)
          {
            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\.NETCompactFramework\\v2.0.0.0\\{0}\\AssemblyFoldersEx", compactFrameworks[n]), true))
            {
              try
              {
                if (key != null) key.DeleteSubKey("SQLite");
              }
              catch
              {
              }
            }
          }

          for (int n = 0; n < 2; n++)
          {
            try
            {
              // Remove any entries in the machine.config if they're still there
              string xmlFileName = Environment.ExpandEnvironmentVariables(String.Format("%WinDir%\\Microsoft.NET\\{0}\\v2.0.50727\\CONFIG\\machine.config", (n == 0) ? "Framework" : "Framework64"));
              XmlDocument xmlDoc = new XmlDocument();
              xmlDoc.PreserveWhitespace = true;
              xmlDoc.Load(xmlFileName);

              XmlNode xmlNode = xmlDoc.SelectSingleNode("configuration/system.data/DbProviderFactories/add[@invariant=\"System.Data.SQLite\"]");

              if (xmlNode != null)
                xmlNode.ParentNode.RemoveChild(xmlNode);

              xmlNode = xmlDoc.SelectSingleNode("configuration/system.data/DbProviderFactories/remove[@invariant=\"System.Data.SQLite\"]");
              if (xmlNode != null)
                xmlNode.ParentNode.RemoveChild(xmlNode);

              xmlDoc.Save(xmlFileName);
            }
            catch
            {
            }
          }
        }
        catch
        {
        }
      }

      try
      {
        if (!install) // Remove SQLite from the GAC if its there
        {
          AssemblyCacheUninstallDisposition disp;

          string s;
          AssemblyCacheEnum entries = new AssemblyCacheEnum("System.Data.SQLite");
          while (true)
          {
            s = entries.GetNextAssembly();
            if (String.IsNullOrEmpty(s)) break;

            AssemblyCache.UninstallAssembly(s, null, out disp);
          }

          entries = new AssemblyCacheEnum("SQLite.Designer");
          while (true)
          {
            s = entries.GetNextAssembly();
            if (String.IsNullOrEmpty(s)) break;

            AssemblyCache.UninstallAssembly(s, null, out disp);
          } SQLite = null;
        }
        else // Install SQLite into the GAC
        {
          byte[] cfdt = Properties.Resources.System_Data_SQLite;
          string tempPath = Path.GetTempPath();
          tempPath = Path.Combine(tempPath, "System.Data.SQLite.DLL");
          using (FileStream fs = File.Open(tempPath, FileMode.Create, FileAccess.Write, FileShare.None))
          {
            fs.Write(cfdt, 0, cfdt.Length);
          }

          try
          {
            AssemblyCache.InstallAssembly(tempPath, null, AssemblyCommitFlags.Default);
            AssemblyCache.InstallAssembly(Path.Combine(Path.GetDirectoryName(SQLiteLocation), "x64\\System.Data.SQLite.DLL"), null, AssemblyCommitFlags.Default);
            AssemblyCache.InstallAssembly(Path.Combine(Path.GetDirectoryName(SQLiteLocation), "itanium\\System.Data.SQLite.DLL"), null, AssemblyCommitFlags.Default);
          }
          catch
          {
          }
          finally
          {
            File.Delete(tempPath);
            AssemblyCache.InstallAssembly(Path.GetFullPath("SQLite.Designer.DLL"), null, AssemblyCommitFlags.Default);
            AssemblyCache.InstallAssembly(SQLiteLocation, null, AssemblyCommitFlags.Default);
          }
        }
      }
      catch
      {
        throw;
      }

      FixXmlLibPaths(install);
    }

    private void ReplaceJet(string keyname)
    {
      using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataProviders", keyname, _regRoot), true))
      {
        using (RegistryKey source = key.OpenSubKey(oledbDataProviderGuid.ToString("B")))
        {
          using (RegistryKey dest = key.CreateSubKey(oledbAltDataProviderGuid.ToString("B")))
          {
            if (source == null) return;
            CopyKey(source, dest);
          }
        }
        key.DeleteSubKeyTree(oledbDataProviderGuid.ToString("B"));
      }

      using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataSources", keyname, _regRoot), true))
      {
        using (RegistryKey source = key.OpenSubKey(jetDataSourcesGuid.ToString("B")))
        {
          using (RegistryKey dest = key.CreateSubKey(jetAltDataSourcesGuid.ToString("B")))
          {
            if (source == null) return;
            CopyKey(source, dest);
          }
        }
        key.DeleteSubKeyTree(jetDataSourcesGuid.ToString("B"));
      }

      Install(keyname, oledbDataProviderGuid, jetDataSourcesGuid);
    }

    private void RestoreJet(string keyname)
    {
      using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataProviders", keyname, _regRoot), true))
      {
        using (RegistryKey source = key.OpenSubKey(oledbAltDataProviderGuid.ToString("B")))
        {
          if (source == null) return;
        }
      }

      Uninstall(keyname, oledbDataProviderGuid, jetDataSourcesGuid);

      using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataProviders", keyname, _regRoot), true))
      {
        using (RegistryKey source = key.OpenSubKey(oledbAltDataProviderGuid.ToString("B")))
        {
          if (source != null)
          {
            using (RegistryKey dest = key.CreateSubKey(oledbDataProviderGuid.ToString("B")))
            {
              CopyKey(source, dest);
            }
            key.DeleteSubKeyTree(oledbAltDataProviderGuid.ToString("B"));
          }
        }
      }

      using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataSources", keyname, _regRoot), true))
      {
        using (RegistryKey source = key.OpenSubKey(jetAltDataSourcesGuid.ToString("B")))
        {
          if (source != null)
          {
            using (RegistryKey dest = key.CreateSubKey(jetDataSourcesGuid.ToString("B")))
            {
              CopyKey(source, dest);
            }
            key.DeleteSubKeyTree(jetAltDataSourcesGuid.ToString("B"));
          }
        }
      }
    }

    private void Install(string keyname, Guid provider, Guid source)
    {
      bool usePackage = (keyname == "VisualStudio");

      using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataProviders", keyname, _regRoot), true))
      {
        using (RegistryKey subkey = key.CreateSubKey(provider.ToString("B"), RegistryKeyPermissionCheck.ReadWriteSubTree))
        {
          subkey.SetValue(null, ".NET Framework Data Provider for SQLite");
          subkey.SetValue("InvariantName", "System.Data.SQLite");
          subkey.SetValue("Technology", "{77AB9A9D-78B9-4ba7-91AC-873F5338F1D2}");
          subkey.SetValue("CodeBase", Path.GetFullPath("SQLite.Designer.DLL"));
          

          if (usePackage)
           subkey.SetValue("FactoryService", "{DCBE6C8D-0E57-4099-A183-98FF74C64D9D}");

          using (RegistryKey subsubkey = subkey.CreateSubKey("SupportedObjects", RegistryKeyPermissionCheck.ReadWriteSubTree))
          {
            using (RegistryKey subsubsubkey = subsubkey.CreateSubKey("DataConnectionUIControl", RegistryKeyPermissionCheck.ReadWriteSubTree))
            {
              if (!usePackage)
                subsubsubkey.SetValue(null, "SQLite.Designer.SQLiteConnectionUIControl");
            }
            using (RegistryKey subsubsubkey = subsubkey.CreateSubKey("DataConnectionProperties", RegistryKeyPermissionCheck.ReadWriteSubTree))
            {
              if (!usePackage)
                subsubsubkey.SetValue(null, "SQLite.Designer.SQLiteConnectionProperties");
            }

            subsubkey.CreateSubKey("DataObjectSupport").Close();
            subsubkey.CreateSubKey("DataViewSupport").Close();
            using (RegistryKey subsubsubkey = subsubkey.CreateSubKey("DataConnectionSupport", RegistryKeyPermissionCheck.ReadWriteSubTree))
            {
              if (!usePackage)
                subsubsubkey.SetValue(null, "SQLite.Designer.SQLiteDataConnectionSupport");
            }
          }
        }
      }

      using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataSources", keyname, _regRoot), true))
      {
        using (RegistryKey subkey = key.CreateSubKey(source.ToString("B"), RegistryKeyPermissionCheck.ReadWriteSubTree))
        {
          subkey.SetValue(null, "SQLite Database File");
          using (RegistryKey subsubkey = subkey.CreateSubKey("SupportingProviders", RegistryKeyPermissionCheck.ReadWriteSubTree))
          {
            subsubkey.CreateSubKey(provider.ToString("B")).Close();
          }
        }
      }

      //try
      //{
      //  using (RegistryKey key = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", true))
      //  {
      //    string libpath = (string)key.GetValue("LIB");
      //    string path = Path.GetDirectoryName(SQLiteLocation);

      //    if (libpath.IndexOf(path, StringComparison.InvariantCultureIgnoreCase) == -1)
      //    {
      //      libpath += (";" + path);
      //      key.SetValue("LIB", libpath);
      //    }
      //  }
      //}
      //catch
      //{
      //}

      for (int n = 0; n < compactFrameworks.Length; n++)
      {
        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\.NETCompactFramework\\v2.0.0.0\\{0}\\DataProviders", compactFrameworks[n]), true))
        {
          if (key != null)
          {
            using (RegistryKey subkey = key.CreateSubKey(standardDataProviderGuid.ToString("B"), RegistryKeyPermissionCheck.ReadWriteSubTree))
            {
              subkey.SetValue(null, ".NET Framework Data Provider for SQLite");
              subkey.SetValue("InvariantName", "System.Data.SQLite");
              subkey.SetValue("RuntimeAssembly", "System.Data.SQLite.DLL");
            }
          }
        }
      }

      if (usePackage)
      {
        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\Packages", keyname, _regRoot), true))
        {
          using (RegistryKey subkey = key.CreateSubKey("{DCBE6C8D-0E57-4099-A183-98FF74C64D9C}", RegistryKeyPermissionCheck.ReadWriteSubTree))
          {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区中文字幕| 亚洲精品videosex极品| 色综合天天综合给合国产| 国产主播一区二区| 国产精品美女视频| 678五月天丁香亚洲综合网| 成人国产精品免费| 久久99国产精品免费| 亚洲资源在线观看| 国产亚洲精品bt天堂精选| 欧美日韩国产天堂| 99久久国产综合精品色伊| 国产麻豆一精品一av一免费 | 久久精品国产99| 亚洲精品乱码久久久久久久久| 精品日韩成人av| 欧美日韩一二三| 日韩欧美国产综合| 欧美在线小视频| 99riav一区二区三区| 国产精品亚洲视频| 久久精品免费看| 日本午夜精品一区二区三区电影| 亚洲欧洲www| 国产精品久久久久久久蜜臀| 精品免费视频.| 日韩一区二区麻豆国产| 欧美日韩欧美一区二区| 一本一道久久a久久精品| 成人av影视在线观看| 国产精品一区二区免费不卡| 捆绑调教一区二区三区| 免费在线视频一区| 午夜精品久久久久久久久 | 国产综合色精品一区二区三区| 天天综合色天天| 日精品一区二区三区| 亚洲成av人片| 性久久久久久久| 亚洲成人av资源| 日韩成人免费看| 日韩av不卡在线观看| 日韩成人一级片| 日产欧产美韩系列久久99| 亚洲国产美女搞黄色| 亚洲一区影音先锋| 视频一区视频二区中文| 图片区小说区区亚洲影院| 日韩有码一区二区三区| 日本aⅴ免费视频一区二区三区| 视频一区二区三区在线| 日本特黄久久久高潮| 麻豆国产91在线播放| 韩国av一区二区| 国产91精品露脸国语对白| 成人蜜臀av电影| 99久久99久久久精品齐齐| 日本电影欧美片| 欧美人牲a欧美精品| 日韩一级免费观看| 精品国产1区二区| 国产三级一区二区三区| 中文字幕视频一区| 亚洲一区二区在线免费观看视频| 天堂久久一区二区三区| 久久国产人妖系列| 国产宾馆实践打屁股91| 成人av在线网站| 欧美亚洲综合久久| 日韩免费观看2025年上映的电影| 久久综合色8888| 亚洲狼人国产精品| 日韩精品一级中文字幕精品视频免费观看| 日韩av一二三| 国产福利一区二区三区视频在线| 99亚偷拍自图区亚洲| 欧美欧美午夜aⅴ在线观看| 欧美成人精精品一区二区频| 中文一区在线播放| 亚洲制服丝袜一区| 91久久精品网| 欧美成人精品3d动漫h| 日韩一区欧美小说| 日本欧美久久久久免费播放网| 欧美精品一区二区精品网| 欧美制服丝袜第一页| 日韩欧美在线不卡| 国产精品美女久久久久久久| 亚洲18影院在线观看| 国产成人在线视频网站| 欧美久久一区二区| 国产日韩综合av| 视频一区二区三区在线| 成人网页在线观看| 欧美一区二区三区免费大片| 国产精品美女久久福利网站| 日韩在线一区二区三区| 色综合一区二区三区| 精品久久国产字幕高潮| 亚洲小说春色综合另类电影| 国产精品69毛片高清亚洲| 91精品国产高清一区二区三区蜜臀| 国产精品女主播av| 韩国精品在线观看| 欧美精品一级二级| 亚洲美女淫视频| 丁香六月久久综合狠狠色| 日韩一区二区中文字幕| 一区二区三区四区不卡在线| 国产麻豆精品95视频| 欧美日韩高清在线播放| 亚洲精品视频在线观看免费| 国产91高潮流白浆在线麻豆| 日韩一区二区电影在线| 亚洲香肠在线观看| 色综合色狠狠天天综合色| 亚洲国产精品t66y| 国产一区二区三区国产| 91精品国产色综合久久| 亚洲国产日韩综合久久精品| eeuss国产一区二区三区| 国产婷婷色一区二区三区四区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美中文字幕一区| 一级中文字幕一区二区| 91片黄在线观看| 国产精品国产自产拍在线| 国产精品自拍在线| 2022国产精品视频| 精品一区二区免费视频| 欧美变态口味重另类| 日本视频中文字幕一区二区三区| 欧美日韩一区二区三区四区五区 | 一区二区三区精品| 97se亚洲国产综合自在线 | 亚洲成av人片一区二区三区| 色呦呦一区二区三区| 亚洲精品一二三四区| 在线观看日产精品| 亚洲成人三级小说| 欧美精品三级在线观看| 成人自拍视频在线| 国产精品久久久久婷婷| 成人午夜电影网站| 亚洲欧美成人一区二区三区| 在线观看日韩av先锋影音电影院| 一区二区三区精品视频在线| 欧美日韩免费高清一区色橹橹| 亚洲成av人在线观看| 欧美一区午夜精品| 国内精品视频一区二区三区八戒 | 亚洲视频一二三区| 在线观看视频一区二区欧美日韩| 亚洲国产精品嫩草影院| 欧美高清hd18日本| 精品在线播放免费| 久久精品视频网| 成人av在线一区二区三区| 亚洲精选视频在线| 欧美人动与zoxxxx乱| 久久国产乱子精品免费女| 国产精品少妇自拍| 欧美性生活大片视频| 老司机免费视频一区二区| 国产亚洲精久久久久久| 91丨porny丨首页| 性做久久久久久| 精品国产一区二区三区av性色| 高清国产午夜精品久久久久久| 尤物视频一区二区| 日韩亚洲欧美综合| 成人丝袜高跟foot| 亚洲成人av资源| 久久久国产精华| 一本色道久久综合狠狠躁的推荐| 手机精品视频在线观看| 欧美国产日本视频| 欧美日韩精品一区二区| 国产一区福利在线| 一区二区在线观看不卡| 欧美成人伊人久久综合网| 成人黄色a**站在线观看| 日韩精品三区四区| 国产精品久久精品日日| 欧美一个色资源| 色婷婷激情综合| 国内成人自拍视频| 亚洲欧洲av在线| 亚洲精品在线免费播放| 精品日韩一区二区三区| 色视频一区二区| 国产曰批免费观看久久久| 一区二区三区免费观看| 久久久久久久久久电影| 欧美人妖巨大在线| 97国产精品videossex| 国产一区二区三区免费| 日韩中文字幕区一区有砖一区 | 色88888久久久久久影院野外 | 97久久超碰国产精品|