Назад | Перейти на главную страницу

Попытка обнаружить с помощью реестра после установки через SCCM не удалась

это просто, запихиваю прогу, exe файл. И для того, чтобы SCCM узнал, что программа была установлена ​​впоследствии, ему необходимо «обнаружить» программу, поскольку это exe-файл, это означает, что мне нужно применить ручную форму обнаружения. В этом примере я не могу использовать какой-либо файл, поскольку версии не различаются по файлам, и мне нужно иметь возможность различать разные версии.

Я пробовал делать это через реестр. Вот что я делаю ->

Я подтверждаю, что после установки реестр существует, но программа все равно не обнаруживается. Итак, в основном развертывание работает, но он не видит этот реестр.

Почему ?, путь правильный .. Я пробовал использовать как флаг в 32-битной, так и без нее.

Во-первых, есть одна большая вещь, которая кричит мне, глядя на этот снимок экрана, - это текст Wow6432Node в середине пути к ключу реестра.

Из MSDN: 32-битные и 64-битные данные приложения в реестре

В 64-битной Windows части записей реестра хранятся отдельно для 32-битных приложений и 64-битных приложений и отображаются в отдельные логические представления реестра с помощью перенаправителя реестра и отражения реестра, поскольку 64-битная версия приложения может использовать другие ключи и значения реестра, чем в 32-битной версии.

...

Подузлы перенаправления в дереве реестра создаются автоматически компонентом WOW64 с именем Wow6432Node. Поэтому важно не называть создаваемый вами раздел реестра как Wow6432Node.

На машине с 64-битной Windows Wow6432Node - это часть реестра, в которую автоматически перенаправляются 32-разрядные приложения (без ведома приложения).

Способ доступа к этому перенаправлению при обнаружении реестра SCCM - разрешить перенаправление SCCM таким же образом, как и приложение, установив флажок "Этот раздел реестра связан с 32-битным приложением в 64-битных системах."поле, которое вы видите посередине скриншота, и удаление \Wow6432Node вне пути к ключу реестра. Это означает, что теперь SCCM знает, что этот раздел реестра находится в 32-битном разделе реестра, и будет искать его там, на 32- или 64-битной машине.


Во-вторых, я не знаю ваше приложение, но вполне возможно, что есть более простой способ сделать это обнаружение.

Хотя приложение является EXE-файлом, вполне возможно (и очень, очень часто), что EXE-файл представляет собой просто оболочку вокруг MSI-файла установщика Windows, и в этом случае вы можете очень легко использовать метод определения кода продукта «Установщик Windows».

Есть несколько способов найти код продукта MSI для EXE, просто проверив тестовую машину, на которой вы уже установили приложение. Один из способов - использовать интерфейс командной строки WMI для вывода списка установленных приложений и их кодов установщика из командной строки DOS:

wmic product get Name, IdentifyingNumber

Если ваше приложение отображается в этом списке с «Идентификационным номером», вы сможете добавить его в метод обнаружения установщика Windows.