“Resource $(string.RequirePrivateStoreOnly)” Error After installing KB3147458

After installing the April Cumulative Update KB3147458, the following error may pop up when opening the Group Policy Editor.

Resource ‘$(string.RequirePrivateStoreOnly)’ referenced in attribute displayName could not be found.

File C:\WINDOWS\PolicyDefinitions\WindowsStore.admx, line 140, column 9

Although dismissing the error messages (occurs twice) should allow you to use the Group Policy Editor, the “Store” category may be missing from Windows Components, under Computer Configuration and User Configuration.

This is probably because the update added a new Policy setting into the WindowsStore.admx file, but didn’t add the corresponding string ID in WindowsStore.adml. Microsoft is aware of this issue, as John Wink [MSFT] is following up KB3147458 issues; hopefully, this little glitch will be fixed soon. Until then, here is how to prevent the error from occurring when opening the Group Policy Editor.

  1. First, backup the file C:\Windows\PolicyDefinitions\WindowsStore.admx.
  2. Open a Command Prompt (Admin) window.
  3. Type the following commands one by one and press ENTER after each command:
    takeown /f C:\Windows\PolicyDefinitions\WindowsStore.admx
    
    icacls C:\Windows\PolicyDefinitions\WindowsStore.admx /grant Administrators:F
    
    notepad C:\Windows\PolicyDefinitions\WindowsStore.admx
  4. In Notepad, go to Line 133 in the file (Ctrl + G)
  5. Select the contents from line 133 to 166 (including), delete those lines, and save the file.
  6. Then type the following command to restore ownership back to TrustedInstaller
    icacls C:\Windows\PolicyDefinitions\WindowsStore.admx /setowner "NT Service\TrustedInstaller"

You should no longer get the error when launching Group Policy Editor. Additionally, the “Store” category would be back under “Administrative Templates\Windows Components”.



For reference, these are the lines you want to clear.

<policy
name="RequirePrivateStoreOnly_1"
class="User"
displayName="$(string.RequirePrivateStoreOnly)"
explainText="$(string.RequirePrivateStoreOnly_Help)"
key="Software\Policies\Microsoft\WindowsStore"
valueName="RequirePrivateStoreOnly"
>
<parentCategory ref="WindowsStore" />
<supportedOn ref="windows:SUPPORTED_Windows_10_0" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
</policy>
<policy
name="RequirePrivateStoreOnly_2"
class="Machine"
displayName="$(string.RequirePrivateStoreOnly)"
explainText="$(string.RequirePrivateStoreOnly_Help)"
key="Software\Policies\Microsoft\WindowsStore"
valueName="RequirePrivateStoreOnly"
>
<parentCategory ref="WindowsStore" />
<supportedOn ref="windows:SUPPORTED_Windows_10_0" />
<enabledValue>
<decimal value="1" />
</enabledValue>
<disabledValue>
<decimal value="0" />
</disabledValue>
</policy>

Microsoft might be adding the necessary string IDs to the string table in the corresponding ADML file in a future update, which should fix the error.


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

15 thoughts on ““Resource $(string.RequirePrivateStoreOnly)” Error After installing KB3147458”

  1. I don’t get this when I open up the console. I see the error in the policy whenever I click on it in the editor. I tried this anyway just to see if it would resolve the issue but to no avail. Any ideas?

    Reply
  2. That “fix” was problematic for me. Although it fixed the Group Policy error message, when I ran SFC /SCANNOW it found corruption that it couldn’t repair. So I ran DISM /online /cleanup-image /restorehealth and it restored the component store corruption. Then, SFC /SCANNOW was able to fix the corrupted file. After looking in the CBS log, the file that it “repaired” was the WindowsStore.admx that I modified using that link. So, I think for now, I’d prefer to live with the gpedit.msc error message.

    Reply
    • Hi Ronnie, The “corruption” which SFC reports.. pointing to the ADMX file, can be ignored safely.

  3. Used this workaround and it seemed to work, but now SFC is having difficulties with hashes of the windowsstore.admx file.

    Reply
    • It’s expected. Any modification of protected files will result in SFC replacing them.
      And, May cumulative update fixes the Group Policy Editor error.

Leave a Reply