Skip to content

Commit

Permalink
Detecting available processor features. See https://learn.microsoft.c…
Browse files Browse the repository at this point in the history
  • Loading branch information
nirbar committed Nov 30, 2023
1 parent a1fb77a commit 4451fef
Show file tree
Hide file tree
Showing 13 changed files with 213 additions and 1 deletion.
54 changes: 54 additions & 0 deletions PanelSwCustomActions/ListProcessorFeatures.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#include "pch.h"

extern "C" UINT __stdcall ListProcessorFeatures(MSIHANDLE hInstall)
{
HRESULT hr = S_OK;
UINT er = ERROR_SUCCESS;
BOOL bRes = TRUE;

hr = WcaInitialize(hInstall, __FUNCTION__);
ExitOnFailure(hr, "Failed to initialize");
WcaLog(LOGMSG_STANDARD, "Initialized from PanelSwCustomActions " FullVersion);

WcaSetIntProperty(L"PF_ARM_64BIT_LOADSTORE_ATOMIC", ::IsProcessorFeaturePresent(PF_ARM_64BIT_LOADSTORE_ATOMIC) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_EXTERNAL_CACHE_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_EXTERNAL_CACHE_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_VFP_32_REGISTERS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_VFP_32_REGISTERS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_3DNOW_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_3DNOW_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_CHANNELS_ENABLED", ::IsProcessorFeaturePresent(PF_CHANNELS_ENABLED) ? 1 : 0);
WcaSetIntProperty(L"PF_COMPARE_EXCHANGE_DOUBLE", ::IsProcessorFeaturePresent(PF_COMPARE_EXCHANGE_DOUBLE) ? 1 : 0);
WcaSetIntProperty(L"PF_COMPARE_EXCHANGE128", ::IsProcessorFeaturePresent(PF_COMPARE_EXCHANGE128) ? 1 : 0);
WcaSetIntProperty(L"PF_COMPARE64_EXCHANGE128", ::IsProcessorFeaturePresent(PF_COMPARE64_EXCHANGE128) ? 1 : 0);
WcaSetIntProperty(L"PF_FASTFAIL_AVAILABLE", ::IsProcessorFeaturePresent(PF_FASTFAIL_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_FLOATING_POINT_EMULATED", ::IsProcessorFeaturePresent(PF_FLOATING_POINT_EMULATED) ? 1 : 0);
WcaSetIntProperty(L"PF_FLOATING_POINT_PRECISION_ERRATA", ::IsProcessorFeaturePresent(PF_FLOATING_POINT_PRECISION_ERRATA) ? 1 : 0);
WcaSetIntProperty(L"PF_MMX_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_NX_ENABLED", ::IsProcessorFeaturePresent(PF_NX_ENABLED) ? 1 : 0);
WcaSetIntProperty(L"PF_PAE_ENABLED", ::IsProcessorFeaturePresent(PF_PAE_ENABLED) ? 1 : 0);
WcaSetIntProperty(L"PF_RDTSC_INSTRUCTION_AVAILABLE", ::IsProcessorFeaturePresent(PF_RDTSC_INSTRUCTION_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_RDWRFSGSBASE_AVAILABLE", ::IsProcessorFeaturePresent(PF_RDWRFSGSBASE_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_SECOND_LEVEL_ADDRESS_TRANSLATION", ::IsProcessorFeaturePresent(PF_SECOND_LEVEL_ADDRESS_TRANSLATION) ? 1 : 0);
WcaSetIntProperty(L"PF_SSE3_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_SSE3_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_SSSE3_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_SSSE3_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_SSE4_1_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_SSE4_1_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_SSE4_2_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_SSE4_2_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_AVX_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_AVX_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_AVX2_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_AVX2_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_AVX512F_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_AVX512F_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_VIRT_FIRMWARE_ENABLED", ::IsProcessorFeaturePresent(PF_VIRT_FIRMWARE_ENABLED) ? 1 : 0);
WcaSetIntProperty(L"PF_XMMI_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_XMMI_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_XMMI64_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_XMMI64_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_XSAVE_ENABLED", ::IsProcessorFeaturePresent(PF_XSAVE_ENABLED) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_V8_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_V8_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE) ? 1 : 0);
WcaSetIntProperty(L"PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE", ::IsProcessorFeaturePresent(PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE) ? 1 : 0);

LExit:
er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE;
return WcaFinalize(er);
}
1 change: 1 addition & 0 deletions PanelSwCustomActions/PanelSwCustomActions.def
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,4 @@ EXPORTS
FolderPaths
PromptFileDowngrades
IsWindowsVersionOrGreater
ListProcessorFeatures
1 change: 1 addition & 0 deletions PanelSwCustomActions/PanelSwCustomActions.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
<ClCompile Include="ExecOnComponent.cpp" />
<ClCompile Include="FileOperations.cpp" />
<ClCompile Include="FileRegex.cpp" />
<ClCompile Include="ListProcessorFeatures.cpp" />
<ClCompile Include="IsWindowsVersionOrGreater.cpp" />
<ClCompile Include="Md5Hash.cpp" />
<ClCompile Include="ExtractPayload.cpp" />
Expand Down
3 changes: 3 additions & 0 deletions PanelSwCustomActions/PanelSwCustomActions.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,9 @@
<ClCompile Include="IsWindowsVersionOrGreater.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ListProcessorFeatures.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\build\obj\$(Configuration)\Protobuf\*.pb.*">
Expand Down
15 changes: 15 additions & 0 deletions PanelSwWixExtension.sln
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DeferredExePackage", "Defer
EndProject
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "IsWindowsVersionOrGreaterUT", "UnitTests\IsWindowsVersionOrGreaterUT\IsWindowsVersionOrGreaterUT.wixproj", "{E4D1FCE8-9273-47DE-A672-209F010F74B7}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "ListProcessorFeaturesUT", "UnitTests\ListProcessorFeaturesUT\ListProcessorFeaturesUT.wixproj", "{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM64 = Debug|ARM64
Expand Down Expand Up @@ -591,6 +593,18 @@ Global
{E4D1FCE8-9273-47DE-A672-209F010F74B7}.Release|x64.Build.0 = Release|x64
{E4D1FCE8-9273-47DE-A672-209F010F74B7}.Release|x86.ActiveCfg = Release|x86
{E4D1FCE8-9273-47DE-A672-209F010F74B7}.Release|x86.Build.0 = Release|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Debug|ARM64.ActiveCfg = Debug|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Debug|ARM64.Build.0 = Debug|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Debug|x64.ActiveCfg = Debug|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Debug|x64.Build.0 = Debug|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Debug|x86.ActiveCfg = Debug|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Debug|x86.Build.0 = Debug|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Release|ARM64.ActiveCfg = Release|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Release|ARM64.Build.0 = Release|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Release|x64.ActiveCfg = Release|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Release|x64.Build.0 = Release|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Release|x86.ActiveCfg = Release|x86
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -637,6 +651,7 @@ Global
{1C35A94C-5A83-49BB-A855-D052F0B0BFB4} = {B533D9FC-4927-4A05-892D-B90E8BEDCF5D}
{EBB376C5-D953-405D-BFA5-1E50FD10F419} = {B533D9FC-4927-4A05-892D-B90E8BEDCF5D}
{E4D1FCE8-9273-47DE-A672-209F010F74B7} = {B533D9FC-4927-4A05-892D-B90E8BEDCF5D}
{DE2A15B5-B20E-47C3-87FB-7881D4D7E15A} = {B533D9FC-4927-4A05-892D-B90E8BEDCF5D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F5B6389D-77ED-4938-A322-8DFCA4D9FEF5}
Expand Down
40 changes: 40 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,46 @@ The following properties hold localized CSIDL folders. To use them, add a [Prope

- UserDesktopFolder: CSIDL_DESKTOPDIRECTORY

The following [properties](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-isprocessorfeaturepresent) denote available processor features. 1 means that the feature is available, 0 means that it is not available.

- PF_ARM_64BIT_LOADSTORE_ATOMIC
- PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE
- PF_ARM_EXTERNAL_CACHE_AVAILABLE
- PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE
- PF_ARM_VFP_32_REGISTERS_AVAILABLE
- PF_3DNOW_INSTRUCTIONS_AVAILABLE
- PF_CHANNELS_ENABLED
- PF_COMPARE_EXCHANGE_DOUBLE
- PF_COMPARE_EXCHANGE128
- PF_COMPARE64_EXCHANGE128
- PF_FASTFAIL_AVAILABLE
- PF_FLOATING_POINT_EMULATED
- PF_FLOATING_POINT_PRECISION_ERRATA
- PF_MMX_INSTRUCTIONS_AVAILABLE
- PF_NX_ENABLED
- PF_PAE_ENABLED
- PF_RDTSC_INSTRUCTION_AVAILABLE
- PF_RDWRFSGSBASE_AVAILABLE
- PF_SECOND_LEVEL_ADDRESS_TRANSLATION
- PF_SSE3_INSTRUCTIONS_AVAILABLE
- PF_SSSE3_INSTRUCTIONS_AVAILABLE
- PF_SSE4_1_INSTRUCTIONS_AVAILABLE
- PF_SSE4_2_INSTRUCTIONS_AVAILABLE
- PF_AVX_INSTRUCTIONS_AVAILABLE
- PF_AVX2_INSTRUCTIONS_AVAILABLE
- PF_AVX512F_INSTRUCTIONS_AVAILABLE
- PF_VIRT_FIRMWARE_ENABLED
- PF_XMMI_INSTRUCTIONS_AVAILABLE
- PF_XMMI64_INSTRUCTIONS_AVAILABLE
- PF_XSAVE_ENABLED
- PF_ARM_V8_INSTRUCTIONS_AVAILABLE
- PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE
- PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE
- PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE
- PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
- PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
- PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE

## Building

PanelSwWixExtension require the following prerequisites to build:
Expand Down
2 changes: 1 addition & 1 deletion TidyBuild.custom.props
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)TidyBuild.user.props" Condition="Exists('$(MSBuildThisFileDirectory)TidyBuild.user.props')"/>
<PropertyGroup>
<FullVersion>3.12.0</FullVersion>
<FullVersion>3.13.0</FullVersion>
<FullVersion Condition=" '$(GITHUB_RUN_NUMBER)'!='' ">$(FullVersion).$(GITHUB_RUN_NUMBER)</FullVersion>
<ProductName>PanelSwWixExtension</ProductName>
<Manufacturer>Panel::Software</Manufacturer>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@
<Launch Condition="Installed Or TEST_11" Message="Surely we're no older than Windows 11.0"/>

<CustomActionRef Id="TerminateSuccessfully_Immediate" />
<InstallUISequence>
<Custom Action="TerminateSuccessfully_Immediate" After="LaunchConditions"></Custom>
</InstallUISequence>
<InstallExecuteSequence>
<Custom Action="TerminateSuccessfully_Immediate" After="LaunchConditions"></Custom>
</InstallExecuteSequence>

<StandardDirectory Id="ProgramFiles6432Folder">
<Directory Id="INSTALLFOLDER" Name="UnitTestSetup" />
Expand Down
12 changes: 12 additions & 0 deletions UnitTests/ListProcessorFeaturesUT/ListProcessorFeaturesUT.wixproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<Project Sdk="WixToolset.Sdk">
<PropertyGroup>
<EnableDefaultCompileItems>true</EnableDefaultCompileItems>
</PropertyGroup>
<ItemGroup>
<WixExtension Include="PanelSwWixExtension">
<HintPath>$(BuildFolder)..\Any CPU\bin\$(Configuration)\PanelSwWixExtension\PanelSwWixExtension.dll</HintPath>
<Name>PanelSwWixExtension</Name>
</WixExtension>
<PackageReference Include="TidyBuild" />
</ItemGroup>
</Project>
27 changes: 27 additions & 0 deletions UnitTests/ListProcessorFeaturesUT/ListProcessorFeaturesUT.wxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.panel-sw.co.il/wix/WixExtension ../../PanelSwWixExtension/XSD/PanelSwWixExtension.xsd">
<Package Name="ListProcessorFeaturesUT" Language="1033" Version="$(var.JetVersion)" Manufacturer="$(var.JetManufacturer)" UpgradeCode="{B997AF76-8F98-40D1-B123-552C82C40B37}" InstallerVersion="200" ProductCode="{B7318C42-2252-44B9-A1E5-47CCD5163D9D}">
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />

<Feature Id="ProductFeature" Title="UnitTestSetup" Level="1">
<Component Directory="INSTALLFOLDER">
<File Source="$(sys.SOURCEFILEPATH)"/>
</Component>
</Feature>

<Property Id="MSIFASTINSTALL" Value="1"></Property>
<PropertyRef Id="PF_ARM_64BIT_LOADSTORE_ATOMIC" />

<Launch Condition="Installed Or PF_NX_ENABLED=1" Message="Surely 'Data execution prevention' processor feature is enabled." />
<CustomActionRef Id="TerminateSuccessfully_Immediate" />
<InstallUISequence>
<Custom Action="TerminateSuccessfully_Immediate" After="LaunchConditions"></Custom>
</InstallUISequence>
<InstallExecuteSequence>
<Custom Action="TerminateSuccessfully_Immediate" After="LaunchConditions"></Custom>
</InstallExecuteSequence>

<StandardDirectory Id="ProgramFiles6432Folder">
<Directory Id="INSTALLFOLDER" Name="UnitTestSetup" />
</StandardDirectory>
</Package>
</Wix>
51 changes: 51 additions & 0 deletions wixlib/PanelSwWixExtension.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -876,4 +876,55 @@
<ProgressText Action="IsWindowsVersionOrGreater" Message="!(loc.IsWindowsVersionOrGreater)" />
</UI>
</Fragment>

<Fragment>
<Property Id="PF_ARM_64BIT_LOADSTORE_ATOMIC" Value="0"/>
<Property Id="PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_EXTERNAL_CACHE_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_VFP_32_REGISTERS_AVAILABLE" Value="0"/>
<Property Id="PF_3DNOW_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_CHANNELS_ENABLED" Value="0"/>
<Property Id="PF_COMPARE_EXCHANGE_DOUBLE" Value="0"/>
<Property Id="PF_COMPARE_EXCHANGE128" Value="0"/>
<Property Id="PF_COMPARE64_EXCHANGE128" Value="0"/>
<Property Id="PF_FASTFAIL_AVAILABLE" Value="0"/>
<Property Id="PF_FLOATING_POINT_EMULATED" Value="0"/>
<Property Id="PF_FLOATING_POINT_PRECISION_ERRATA" Value="0"/>
<Property Id="PF_MMX_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_NX_ENABLED" Value="0"/>
<Property Id="PF_PAE_ENABLED" Value="0"/>
<Property Id="PF_RDTSC_INSTRUCTION_AVAILABLE" Value="0"/>
<Property Id="PF_RDWRFSGSBASE_AVAILABLE" Value="0"/>
<Property Id="PF_SECOND_LEVEL_ADDRESS_TRANSLATION" Value="0"/>
<Property Id="PF_SSE3_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_SSSE3_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_SSE4_1_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_SSE4_2_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_AVX_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_AVX2_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_AVX512F_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_VIRT_FIRMWARE_ENABLED" Value="0"/>
<Property Id="PF_XMMI_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_XMMI64_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_XSAVE_ENABLED" Value="0"/>
<Property Id="PF_ARM_V8_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE" Value="0"/>
<Property Id="PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE" Value="0"/>

<CustomAction Id="ListProcessorFeatures" DllEntry="ListProcessorFeatures" Execute="firstSequence" BinaryRef="PanelSwCustomActions.dll" />
<InstallExecuteSequence>
<Custom Action="ListProcessorFeatures" Before="AppSearch" Overridable="yes" />
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="ListProcessorFeatures" Before="AppSearch" Overridable="yes" />
</InstallUISequence>
<UI>
<ProgressText Action="ListProcessorFeatures" Message="!(loc.ListProcessorFeatures)" />
</UI>
</Fragment>
</Wix>
1 change: 1 addition & 0 deletions wixlib/en-US.wxl
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,5 @@
<String Overridable="yes" Id="UnzipArchiveError" Value="An error ocurred when extracting the zip archive [2].&#xA;[3]" />
<String Overridable="yes" Id="UnzipFileError" Value="An error ocurred when extracting the file [2] from zip archive [3]" />
<String Overridable="yes" Id="IsWindowsVersionOrGreater" Value="Testing Windows version" />
<String Overridable="yes" Id="ListProcessorFeatures" Value="Detecting available processor features" />
</WixLocalization>
1 change: 1 addition & 0 deletions wixlib/he-IL.wxl
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,5 @@
<String Overridable="yes" Id="UnzipArchiveError" Value="אירעה שגיאה בחילוץ מקובץ ארכיון [2].&#xA;[3]" />
<String Overridable="yes" Id="UnzipFileError" Value="אירעה שגיאה בחילוץ הקובץ [2] מארכיון [3]" />
<String Overridable="yes" Id="IsWindowsVersionOrGreater" Value="בודק את גירסאת מערכת ההפעלה" />
<String Overridable="yes" Id="ListProcessorFeatures" Value="בודק זמינות תכונות של המעבד" />
</WixLocalization>

0 comments on commit 4451fef

Please sign in to comment.