Здравствуйте! Решил я исправить ошибки руссификации для Win 7 x64 sp1, взяв за основу оригинальный 7601.17514.101119-1850_win7-sp1_lp-RU_x64.cab и столкнулся с такой проблемой:
после изменения .mui исправленный .cab не хочет устанавливаться в win 7 ultimate en-us из за ошибки при проверке хэша в соответствующем для исправленного .mui файле-манифесте.
Может быть кто-то сталкивался с такой проблемой и знает как в этом манифесте отключить эту проверку или изменить хэш на соответствующий исправленному .miu файлу?
Для примера вот оригинальный файл-манифест для basebrd.dll.mui:
читать дальше »
Код:

<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0" copyright="Copyright (c) Microsoft Corporation. All Rights Reserved.">
<assemblyIdentity name="Microsoft-Windows-Branding-Base-Ultimate.Resources" version="6.1.7600.16385" processorArchitecture="amd64" language="ru-RU" buildType="release" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS" />
<file name="basebrd.dll.mui" destinationPath="$(runtime.windows)\Branding\Basebrd\ru-RU\" sourceName="basebrd.dll.mui" sourcePath=".\" importPath="$(build.nttree)\loc\ru-ru\ultimate\">
<securityDescriptor name="WRP_FILE_DEFAULT_SDDL" />
<asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2">
<dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">BTydl8QZSKstE3ALz8IOnTQmgwNmTQaE72DQ14PiZC8=</dsig:DigestValue>
</asmv2:hash>
</file>
<directories>
<directory destinationPath="$(runtime.windows)\Branding\Basebrd\ru-RU\" owner="true">
<securityDescriptor name="WRP_PARENT_DIR_DEFAULT_SDDL" />
</directory>
</directories>
<trustInfo>
<security>
<accessControl>
<securityDescriptorDefinitions>
<securityDescriptorDefinition name="WRP_FILE_DEFAULT_SDDL" sddl="O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464G:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464D:P(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;GRGX;;;BA)(A;;GRGX;;;SY)(A;;GRGX;;;BU)S:(AU;FASA;0x000D0116;;;WD)" operationHint="replace" description="Default SDDL for Windows Resource Protected file" />
<securityDescriptorDefinition name="WRP_PARENT_DIR_DEFAULT_SDDL" sddl="O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464G:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464D:P(A;CI;GA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;0x1301bf;;;SY)(A;IOCIOI;GA;;;SY)(A;;0x1301bf;;;BA)(A;IOCIOI;GA;;;BA)(A;CIOI;GRGX;;;BU)(A;OICIIO;GA;;;CO)" operationHint="replace" />
</securityDescriptorDefinitions>
</accessControl>
</security>
</trustInfo>
<rescache xmlns="urn:schemas-microsoft-com:rescache.v1" />
</assembly>
Насколько я понимаю то все дело в параметре DigestValue. Операции по удалению некоторых параметров к положительному результату не привели.