'How to get elevated permission to edit a registry CLSID, with in a WiX fragment

I am trying to set windows desktop search to use a different html filter other than the system default filter(nlhtml.dll). When I look up the PersistentHandler (HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html\PersistentHandler) it points to HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{eec97550-47a9-11cf-b952-00aa0051fe20}.

I want to change the value of above clsid. Following is the WiX snippet

<?define PersistentHandler_HtmlIFilter="eec97550-47a9-11cf-b952-00aa0051fe20"?>

<RegistryValue Action="write" Root="HKLM" Key="SOFTWARE\Classes\CLSID\{$(var.PersistentHandler_HtmlIFilter)}" Value="MY HTML Persistent Handler" Type="string" />

But the value is not changed.

Regarding permission; Only TrustedInstaller has full control of this entry. Administrator, SYSTEM and other users only have read permission.

How can I get elevated permission to make this registry change using WiX. This is part of a larger project and I am only editing a fragment of WiX script (<Fragment>.. </Fragment>).

Thank you.



Solution 1:[1]

You cannot. Registry keys limited to TrustedInstaller indicate keys that are protected by Windows Resource Protection. Windows Installer will not modify these keys.

Solution 2:[2]

You can download Advanced Run, In program to run, Go to C:/windows/regedit.exe

In the Run As box, click Trusted Installer and then run on the bottom. Now it's running with TI privileges and you can do what you want.

Solution 3:[3]

Try PC Hunter or Power Run, and run regedit with it, and run it with system privileges, and you can do what you like.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 briantist
Solution 2 Nossy Drelich
Solution 3