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

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

?? installdesigner.cs

?? sqlite 3.3.8 支持加密的版本
?? CS
?? 第 1 頁 / 共 3 頁
字號:
            subkey.SetValue(null, "SQLite Designer Package");
            subkey.SetValue("Class", "SQLite.Designer.SQLitePackage");
            subkey.SetValue("CodeBase", Path.GetFullPath("SQLite.Designer.DLL"));
            subkey.SetValue("ID", 400);
            subkey.SetValue("InprocServer32", "mscoree.dll");
            subkey.SetValue("CompanyName", "Black Castle Software, LLC");
            subkey.SetValue("MinEdition", "standard");
            subkey.SetValue("ProductName", "SQLite Data Provider");
            subkey.SetValue("ProductVersion", "1.0");
          }
        }

        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\Menus", keyname, _regRoot), true))
        {
          key.SetValue("{DCBE6C8D-0E57-4099-A183-98FF74C64D9C}", ", 1000, 1");
        }

        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\Services", keyname, _regRoot), true))
        {
          using (RegistryKey subkey = key.CreateSubKey("{DCBE6C8D-0E57-4099-A183-98FF74C64D9D}", RegistryKeyPermissionCheck.ReadWriteSubTree))
          {
            subkey.SetValue(null, "{DCBE6C8D-0E57-4099-A183-98FF74C64D9C}");
            subkey.SetValue("Name", "SQLite Provider Object Factory");
          }
        }
      }
    }

    private XmlDocument GetConfig(string keyname, out string xmlFileName)
    {
      try
      {
        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}", keyname, _regRoot), true))
        {
          xmlFileName = (string)key.GetValue("InstallDir");
          if (String.Compare(keyname, "VisualStudio", true) == 0)
            xmlFileName += "devenv.exe.config";
          else
            xmlFileName += keyname + ".exe.config";
        }

        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.PreserveWhitespace = true;
        xmlDoc.Load(xmlFileName);

        return xmlDoc;
      }
      catch
      {
        xmlFileName = null;
      }
      return null;
    }

    private void Uninstall(string keyname, Guid provider, Guid source)
    {
      try
      {
        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataProviders", keyname, _regRoot), true))
        {
          if (key != null) key.DeleteSubKeyTree(provider.ToString("B"));
        }
        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\DataSources", keyname, _regRoot), true))
        {
          if (key != null) key.DeleteSubKeyTree(source.ToString("B"));
        }

        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\Packages", keyname, _regRoot), true))
        {
          if (key != null) key.DeleteSubKeyTree("{DCBE6C8D-0E57-4099-A183-98FF74C64D9C}");
        }

        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\Services", keyname, _regRoot), true))
        {
          if (key != null) key.DeleteSubKeyTree("{DCBE6C8D-0E57-4099-A183-98FF74C64D9D}");
        }

        using (RegistryKey key = Registry.LocalMachine.OpenSubKey(String.Format("Software\\Microsoft\\{0}\\{1}\\Menus", keyname, _regRoot), true))
        {
          key.DeleteValue("{DCBE6C8D-0E57-4099-A183-98FF74C64D9C}");
        }

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

        //  libpath = libpath.Replace(path, "");
        //  key.SetValue("LIB", libpath);
        //}
      }
      catch
      {
      }

      // Remove factory support from the development environment config file
      string xmlFileName;
      XmlDocument xmlDoc = GetConfig(keyname, out xmlFileName);

      if (xmlDoc == null) return;

      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);
    }


    private static void CopyKey(RegistryKey keySource, RegistryKey keyDest)
    {
      if (keySource.SubKeyCount > 0)
      {
        string[] subkeys = keySource.GetSubKeyNames();
        for (int n = 0; n < subkeys.Length; n++)
        {
          using (RegistryKey subkeysource = keySource.OpenSubKey(subkeys[n]))
          {
            using (RegistryKey subkeydest = keyDest.CreateSubKey(subkeys[n], RegistryKeyPermissionCheck.ReadWriteSubTree))
            {
              CopyKey(subkeysource, subkeydest);
            }
          }
        }
      }
      string[] values = keySource.GetValueNames();
      for (int n = 0; n < values.Length; n++)
      {
        keyDest.SetValue(values[n], keySource.GetValue(values[n]), keySource.GetValueKind(values[n]));
      }
    }

    private void FixXmlLibPaths(bool install)
    {
      string installDir = null;
      RegistryKey key = null;

      try
      {
        key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\VisualStudio\\8.0");
        if (key != null)
        {
          try
          {
            installDir = (string)key.GetValue("InstallDir");
          }
          catch
          {
          }
          finally
          {
            if (String.IsNullOrEmpty(installDir))
            {
              ((IDisposable)key).Dispose();
              key = null;
            }
          }
        }

        if (key == null)
        {
          key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\VCExpress\\8.0");
          if (key == null) return;
        }

        try
        {
          installDir = (string)key.GetValue("InstallDir");
        }
        catch
        {
        }
      }
      finally
      {
        if (key != null) ((IDisposable)key).Dispose();
      }

      if (String.IsNullOrEmpty(installDir)) return;

      installDir = Path.Combine(Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(installDir))), "VC");

      string currentDir;
      string[] lookIn = new string[] { "vcpackages", "bin\\amd64", "bin\\ia64" };
      string sqlitePath = Path.GetDirectoryName(SQLiteLocation);

      foreach (string subfolder in lookIn)
      {
        try
        {
          currentDir = Path.Combine(installDir, subfolder);
          FixXmlLibPaths(currentDir, "VCProjectEngine.DLL*.config", sqlitePath, install);
          FixXmlLibPaths(currentDir, "AMD64.VCPlatform.config", Path.Combine(sqlitePath, "x64"), install);
          FixXmlLibPaths(currentDir, "Itanium.VCPlatform.config", Path.Combine(sqlitePath, "itanium"), install);
          FixXmlLibPaths(currentDir, "WCE.VCPlatform.config", Path.Combine(sqlitePath, "CompactFramework"), install);
        }
        catch
        {
        }
      }

      FixLocalUserPaths(install);
    }

    private void FixLocalUserPaths(bool install)
    {
      string file = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Microsoft\\VisualStudio\\8.0\\VCComponents.dat");
      StringBuilder output = new StringBuilder();
      string line;
      string sqlitePath = Path.GetDirectoryName(SQLiteLocation);
      string currPath = sqlitePath;

      try
      {
        using (StreamReader rd = new StreamReader(file))
        {
          while (rd.EndOfStream == false)
          {
            line = rd.ReadLine();
            line = line.Trim();
            if (String.IsNullOrEmpty(line)) continue;
            if (line[0] == '[')
            {
              if (line.IndexOf("Win32", StringComparison.InvariantCultureIgnoreCase) != -1)
                currPath = sqlitePath;
              else if (line.IndexOf("x64", StringComparison.InvariantCultureIgnoreCase) != -1)
                currPath = Path.Combine(sqlitePath, "x64");
              else if (line.IndexOf("Itanium", StringComparison.InvariantCultureIgnoreCase) != -1)
                currPath = Path.Combine(sqlitePath, "x64");
              else if (line.IndexOf("ARM", StringComparison.InvariantCultureIgnoreCase) != -1)
                currPath = Path.Combine(sqlitePath, "CompactFramework");
            }
            else if (line.StartsWith("Reference Dirs", StringComparison.InvariantCultureIgnoreCase) == true)
            {
              int n = line.IndexOf(";" + currPath, StringComparison.InvariantCultureIgnoreCase);
              if (n > -1) line = line.Remove(n, currPath.Length + 1);

              if (install)
              {
                if (line[line.Length - 1] == '=')
                  line += currPath;
                else
                  line += (";" + currPath);
              }
            }

            output.AppendLine(line);
          }
          rd.Close();
        }

        File.Delete(file);
        using (StreamWriter writer = new StreamWriter(file, false, Encoding.Unicode))
        {          
          writer.Write(output.ToString());
          writer.Close();
        }
      }
      catch
      {
      }
    }

    private void FixXmlLibPaths(string path, string lookFor, string sqlitePath, bool install)
    {
      // Win32
      string[] files = Directory.GetFiles(path, lookFor);
      if (files.Length > 0)
      {
        foreach (string file in files)
        {
          FixXmlLibPath(file, sqlitePath, install);
        }
      }
    }

    private void FixXmlLibPath(string fileName, string sqlitePath, bool install)
    {
      XmlDocument xmlDoc = new XmlDocument();
      xmlDoc.PreserveWhitespace = true;
      xmlDoc.Load(fileName);
      
      XmlNodeList xmlNodes = xmlDoc.SelectNodes("VCPlatformConfigurationFile/Platform/Directories");
      if (xmlNodes == null) return;

      foreach(XmlNode xmlNode in xmlNodes)
      {
        string libpath = xmlNode.Attributes.GetNamedItem("Reference").Value;
        if (String.Compare(libpath, sqlitePath, true) == 0)
          libpath = "";
        else
        {
          int n = libpath.IndexOf(";" + sqlitePath, StringComparison.InvariantCultureIgnoreCase);
          if (n > -1) libpath = libpath.Remove(n, sqlitePath.Length + 1);
        }

        if (install)
        {
          if (String.IsNullOrEmpty(libpath)) libpath = sqlitePath;
          else libpath += (";" + sqlitePath);
        }
        xmlNode.Attributes.GetNamedItem("Reference").Value = libpath;
      }

      xmlDoc.Save(fileName);
    }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片在线| 欧美一区二区不卡视频| 欧美久久久久久蜜桃| 久久精子c满五个校花| 亚洲成人你懂的| 91一区二区在线| 久久精品亚洲精品国产欧美| 亚洲成人自拍偷拍| 91色婷婷久久久久合中文| 久久久亚洲国产美女国产盗摄 | 欧美嫩在线观看| 久久亚洲精品小早川怜子| 午夜成人在线视频| 欧美影院一区二区| 亚洲美女精品一区| 99免费精品在线观看| 国产精品婷婷午夜在线观看| 九九九精品视频| 日韩欧美在线观看一区二区三区| 亚洲另类中文字| 一本色道久久综合亚洲91| 国产精品网站在线观看| 黑人巨大精品欧美黑白配亚洲| 欧美一级免费大片| 美腿丝袜亚洲色图| 日韩精品一区二区在线| 久久精品国产澳门| 精品99久久久久久| 激情小说亚洲一区| 久久九九久精品国产免费直播| 国产综合色在线| 国产欧美日韩亚州综合| 国产成人精品三级| 亚洲欧洲日韩av| 色综合视频一区二区三区高清| 国产精品国模大尺度视频| 成人黄色网址在线观看| 国产精品国产三级国产aⅴ中文| 成人黄色在线网站| 亚洲视频1区2区| 欧美在线你懂得| 蜜桃久久精品一区二区| 精品精品国产高清一毛片一天堂| 久久99九九99精品| 国产精品免费视频观看| 色综合久久88色综合天天| 亚洲伊人伊色伊影伊综合网| 在线亚洲免费视频| 麻豆视频观看网址久久| 中文欧美字幕免费| 欧美中文字幕亚洲一区二区va在线| 午夜视频在线观看一区二区| 日韩精品一区二区三区三区免费| 狠狠色综合日日| 日韩一区在线看| 欧美妇女性影城| 国产成人av一区二区| 亚洲欧美日韩国产手机在线| 欧美私人免费视频| 国产精品亚洲一区二区三区妖精 | 成人亚洲一区二区一| 亚洲最新视频在线观看| 欧美精品日韩一区| 国产精品一区二区三区乱码| 亚洲人成网站精品片在线观看| 678五月天丁香亚洲综合网| 国产在线国偷精品产拍免费yy | 91丨porny丨蝌蚪视频| 性做久久久久久| 国产精品污www在线观看| 欧美日韩激情一区| www.成人在线| 麻豆精品视频在线观看免费| 国产精品久久久久aaaa樱花| 日韩一区二区三区四区五区六区| 成人高清视频在线观看| 日本欧美一区二区在线观看| 国产精品久久国产精麻豆99网站| 欧美精品v日韩精品v韩国精品v| 国产aⅴ精品一区二区三区色成熟| 亚洲午夜在线电影| 国产精品麻豆99久久久久久| 欧美精品日韩一区| 一本久道久久综合中文字幕 | 麻豆精品视频在线观看免费| 亚洲视频在线一区| 国产色产综合产在线视频| 欧美丝袜丝交足nylons| 成人激情免费电影网址| 国产一区中文字幕| 日韩精品一卡二卡三卡四卡无卡| 亚洲人123区| 亚洲国产精品av| 精品国产人成亚洲区| 欧美日韩亚洲高清一区二区| 91丨九色丨黑人外教| 国产成人精品三级麻豆| 国内精品伊人久久久久av一坑| 亚洲第一精品在线| 亚洲一区二区影院| 一区二区在线电影| 国产精品电影院| 国产精品免费看片| 亚洲国产电影在线观看| 久久久三级国产网站| 欧美v国产在线一区二区三区| 欧美午夜宅男影院| 欧美中文字幕久久| 欧美丝袜自拍制服另类| 欧美亚洲综合网| 欧美视频完全免费看| 欧美午夜精品久久久| 欧美色倩网站大全免费| 欧美图区在线视频| 欧美乱妇一区二区三区不卡视频| 欧美视频在线一区二区三区 | 91久久一区二区| 日本丰满少妇一区二区三区| 色拍拍在线精品视频8848| 欧美亚洲愉拍一区二区| 欧美日韩精品一区二区在线播放| 欧美另类高清zo欧美| 欧美日本一区二区| 日韩一区二区免费电影| 欧美精品一区二区在线观看| 久久午夜羞羞影院免费观看| 久久精品网站免费观看| 中文字幕一区在线观看视频| 亚洲男同性恋视频| 亚洲高清视频中文字幕| 男人的j进女人的j一区| 国产成人小视频| 色综合色狠狠综合色| 欧美性受xxxx黑人xyx| 日韩一区二区三区免费看 | 91福利精品第一导航| 欧美日韩国产高清一区二区三区| 7777女厕盗摄久久久| 久久品道一品道久久精品| 国产精品视频一二三区| 亚洲一区二区精品久久av| 精品一区二区三区视频| 99热在这里有精品免费| 欧美另类变人与禽xxxxx| 久久久综合激的五月天| 自拍偷拍亚洲综合| 蜜臀精品一区二区三区在线观看| 国产一区二区在线免费观看| 成年人国产精品| 欧美一级日韩免费不卡| 国产精品午夜在线| 日本欧美一区二区| 91丨九色丨黑人外教| 欧美成人精品福利| 亚洲欧美在线另类| 久久成人久久爱| 97国产一区二区| 亚洲精品一区二区三区影院| 亚洲色图欧美在线| 国产一区二区网址| 欧美男同性恋视频网站| 国产精品久久看| 蜜臀av一区二区在线观看| 91香蕉视频mp4| 久久精品一区蜜桃臀影院| 亚洲成在人线在线播放| 成人黄色在线网站| 久久久久久麻豆| 日韩影视精彩在线| 欧美日韩在线直播| 亚洲欧美激情小说另类| 国产一区二区视频在线播放| 欧美乱熟臀69xxxxxx| 亚洲黄色av一区| 97久久久精品综合88久久| 久久久久99精品一区| 麻豆精品新av中文字幕| 欧美日韩精品专区| 亚洲一区视频在线观看视频| 成人a区在线观看| 久久看人人爽人人| 蜜臀av性久久久久蜜臀av麻豆 | 久久久精品欧美丰满| 欧美aaa在线| 911精品国产一区二区在线| 亚洲精品网站在线观看| 成人免费视频视频在线观看免费| 欧美精品一区二区三区四区 | 欧美日韩亚洲综合| 亚洲免费在线视频| fc2成人免费人成在线观看播放| 精品嫩草影院久久| 美女看a上一区| 91精品国产综合久久久久久| 亚洲成a人v欧美综合天堂下载| 日本高清不卡视频| 亚洲曰韩产成在线| 欧美三区在线观看| 午夜精品国产更新| 欧美一区二区三区在线看|