Во время установки нашего продукта нам нужно знать, сколько ядер имеет процессор. У Wix есть эта возможность ?.WIX - Определение количества ядер при установке
ответ
В Windows Installer или WiX нет ничего, чтобы поддерживать это. Установщик Windows имеет набор свойств оборудования, таких как Intel, Intel64 (Itanium) и Msix64 (AMD/Intel), но ничего для подсчета ядра.
Чтобы получить информацию и установить свойство, которое будет использоваться позже в вашем установщике, вам потребуется настраиваемое действие (обычно C++ или C#). Точные данные зависят от выбранного вами языка.
Хорошо, спасибо Кристофер. Мы будем использовать c или, надеюсь, встроенный vbscript, чтобы получить его. Для тех, кому интересно, нам нужно количество ядер, поскольку мы устанавливаем ОС реального времени под названием RTX вместе с окнами. Нам нужно явно указать RTX, сколько ядер посвящено ему. Стив. – user2069362
Я специально не упоминал VBScript, потому что хост ActiveScript в установщике Windows очень хрупок. Лучше избегать. –
Кристофер, спасибо за ваши советы. Так что скажем, я пишу небольшой C++ .exe, чтобы вернуть число ядер. Как мне вернуть этот номер в wix ?, предполагая, что мой .exe называется CustomAction. Спасибо Steve – user2069362
Возможное нестандартное решение: есть ключи реестра HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0
, HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\1
и т. Д., По одному для каждого из ядер.
Если вы хотите, например, что-то, чтобы иметь по крайней мере четыре ядра, установите свойство MSI через поиск в регистре для одного из значений в ключе ...\CentralProcessor\3
(значение реестра по умолчанию обычно пустое, поэтому используйте один других значений, таких как Identifier
).
Это будет устанавливать свойство тогда и только тогда, когда имеется не менее 4 ядер. Затем вы можете использовать присутствие или отсутствие этого свойства MSI для определения того, какое действие зависит от наличия достаточного количества ядер.
Из любопытства, почему, черт возьми, вам нужно знать об этом во время установки? Во время выполнения, чтобы создать разумное количество потоков, конечно, но во время установки ?! – delnan
Возможно, существует требование только разрешить установку, если определенное количество ядер? Сомнительно, согласен. –