Brian C Hart Ответов: 1

Размножаться optionalfeatures.exe в C#


(Нажмите для получения изображения графического интерфейса дополнительных функций окна)[^]

Я пытаюсь построить графический интерфейс, используя Windows Forms и C#, который выглядит и чувствует себя точно так же, как графический интерфейс, который появляется при выполнении
%windir%\System32\OptionalFeatures.exe
в системе Windows-7 или выше. Я использую переменную %windir% - это переменная окружения DOS, которая указывает на папку на вашем компьютере, где обычно установлена сама Windows C:\WINDOWS, здесь, так как я знаю, что не все системы устанавливают системные файлы Windows в один и тот же каталог..

Изображение конкретного графического интерфейса, о котором я говорю, показано выше. Он должен работать так же. Я предполагаю, что это действительно просто оболочка для DISM и выдает вызовы DISM, а затем каким-то образом форматирует выходные данные DISM, и это не моя проблема (я знаю, как заполнить древовидное представление).

Однако, по моему опыту, DISM возвращает не "приукрашенные" имена функций, а "кодовые имена", и кроме того, у меня возникли проблемы с выяснением :

(а) как разрешить зависимости между "функциями windows", то есть древовидное представление должно показать, что некоторые функции зависят от включения других
(b) когда вы щелкаете, чтобы установить флажок в поле данной функции, графический интерфейс автоматически устанавливает/снимает флажок других функций, предположительно в соответствии с определенными правилами
(c) как на самом деле выполнить изменения в функциях/настройках windows, как только пользователь нажмет кнопку ОК?

Это моя попытка разработать интерактивную программу "настройка этого нового компьютера с нуля", и часть этой программы позволяет вам взять это дерево и написать сценарий, чтобы затем применить те же самые "настройки включения или выключения функций windows" к куче других компьютеров в рамках задач управления ИТ-операциями/конфигурацией.

Заранее спасибо...

Брайан

Что я уже пробовал:

Я попробовал декомпилировать OptionalFeatures.exe с Telerik JustDecompile, но безрезультатно, так как он, по-видимому, не является допустимой сборкой CLR, и, по-видимому, JustDecompile работает только с такими сборками.

Я знаю о так называемой "проблеме Хардинга", в которой вы не можете получить точный исходный код из скомпилированного кода. binary...so я прихожу в сообщество и смотрю, подошел ли кто-нибудь еще к этой проблеме с точки зрения получения информации непосредственно из операционной системы, через какой-то ранее неизвестный мне вызов WinAPI.

Я также попытался написать, в основном, процедуру файла .bat, такую как приведенная ниже, которая вызывает DISM для вывода списка всех функций и анализирует указанный список, а затем вызывает dism /Online /NoRestart /Enable-Feature '<name>' /All на каждом, и я не могу получить все функции в состояние "Включено". Это то, что я хочу в текущем приложении, но графический интерфейс должен позволить системному администратору выбирать и выбирать функции, которые будут включены/отключены, а затем мы сохраняем выбор в какой-то файл сценария, который затем может быть запущен на других машинах, чтобы настроить их "функции Windows", чтобы быть такими же.

Еще раз заранее спасибо.

BillWoodruff

проверьте " твикер "Сергея (бесплатно): https://winaero.com/ для получения дополнительных идей.

это не открытый исходный код.