Я новичок в C# и ища помощи.Список и удалить раздел реестра на C#
Я занимаюсь распространением программных пакетов с использованием функции Windows GPO. Иногда конкретным клиентам необходимо переустановить пакет, но, к сожалению, это невозможно контролировать с помощью редактора GPO по умолчанию. Вы можете инициировать повторное развертывание пакета, но он снова будет повторно установлен на всех клиентах.
Статус установки сохраняется в реестре клиентов. Каждый пакет имеет ключ к югу в этом месте:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\AppMgmt
Собрать суб ключи удаленного компьютера в списке я следующее:
List<string> RegFolders = new List<string>();
string subKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\AppMgmt";
RegistryKey AppMgmtKey;
RegistryKey AppKey;
AppMgmtKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, remoteHost).OpenSubKey(subKey);
foreach (string subKeyName in AppMgmtKey.GetSubKeyNames())
{
RegFolders.Add(String.Join(",", subKeyName));
}
Я собираюсь добавить найденные значения в проверочный список. Поскольку ключи к югу названы в качестве уникальных идентификаторов, я собираюсь получить строковое значение каждого ключа к югу, который содержит описание продукта:
foreach (string DeplApp in RegFolders)
{
AppKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, remoteHost).OpenSubKey(GlobalVars.subKey + "\\" + DeplApp);
string DispName = (string)AppKey.GetValue("Deployment Name");
cListBoxSubKeys.Items.Add(DispName);
}
До сих пор так хорошо, названия продуктов приведены в ListBox. Проблема у меня есть к следующему шагу, при попытке удалить проверенные продукты:
foreach (object itemChecked in cListBoxSubKeys.CheckedItems)
{
Registry.LocalMachine.DeleteSubKey(subKey + "\\" + itemChecked);
}
Это работает, если я хотел бы добавить уникальный идентификатор подраздела проверенному-ListBox. Но поскольку я добавляю название продукта, это, конечно, не работает. Есть ли простой способ удалить весь дополнительный ключ без необходимости перечислять идентификатор в списке-списке?
Благодарен за любой ввод!
работает как шарм! Большое спасибо Грант! –