如何获得在WiX片段中编辑注册表CLSID的提升权限

时间:2012-02-27 13:16:47

标签: windows wix registry ifilter clsid

我正在尝试将Windows桌面搜索设置为使用除系统默认过滤器(nlhtml.dll)之外的其他html过滤器。当我查找PersistentHandler(HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.html\PersistentHandler)时,它指向HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{eec97550-47a9-11cf-b952-00aa0051fe20}

我想更改上面clsid的值。以下是WiX片段

<?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" />

但价值没有改变。

关于许可; 只有TrustedInstaller可以完全控制此条目。管理员,SYSTEM和其他用户只有读取权限。

如何获得使用WiX进行此注册表更改的提升权限。这是一个较大项目的一部分,我只编辑WiX脚本片段(<Fragment>.. </Fragment>)。

谢谢。

2 个答案:

答案 0 :(得分:3)

你做不到。仅限TrustedInstaller的注册表项指示受Windows Resource Protection保护的密钥。 Windows Installer不会修改这些密钥。

答案 1 :(得分:-1)

尝试使用PC HunterPower Run,然后运行regedit,然后以系统特权运行它,您可以做自己喜欢的事。