Я написал надстройку для MSSQL 2012, 2014, 2016 и 2017. Он отлично работает, когда пользователь с правами администратора установлен и имеет доступ к пользователю с правами администратора, но когда другой пользователь входит в систему, пользователь не может получить доступ к этому надстройке.У меня есть запись в реестре текущего пользователя во время установки.
string[] RegEditShowPackage = new string[] { "10", "11", "12", "13", "14" };
foreach (string item in RegEditShowPackage)
{
try
{
RegistryKey key = Registry.CurrentUser.OpenSubKey("SOFTWARE", true);
key.CreateSubKey("Microsoft", RegistryKeyPermissionCheck.ReadWriteSubTree);
key = key.OpenSubKey("Microsoft", true);
key.CreateSubKey("SQL Server Management Studio", RegistryKeyPermissionCheck.ReadWriteSubTree);
key = key.OpenSubKey("SQL Server Management Studio", true);
key.CreateSubKey(item + ".0", RegistryKeyPermissionCheck.ReadWriteSubTree);
key = key.OpenSubKey(item + ".0", true);
key.CreateSubKey("Packages", RegistryKeyPermissionCheck.ReadWriteSubTree);
key = key.OpenSubKey("Packages", true);
key.CreateSubKey("{" + SsmsSchemaFoldersPackage.PackageGuidString + "}", RegistryKeyPermissionCheck.ReadWriteSubTree);
key = key.OpenSubKey("{" + SsmsSchemaFoldersPackage.PackageGuidString + "}", true);
key.SetValue("SkipLoading", 1, Microsoft.Win32.RegistryValueKind.DWord);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
Но он работает только с пользователем установки, а не с другим пользователем, когда логин с другим пользователем не отображается, потому что эта запись реестра не существует .., пожалуйста, помогитемне
спасибо заранее ..