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

标签 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 可以完全控制此条目。 Administrator、SYSTEM等用户只有读取权限。

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

谢谢。

最佳答案

你不能。仅限于 TrustedInstaller 的注册表键表示受 Windows Resource Protection 保护的键. Windows Installer 不会修改这些键。

关于windows - 如何在 WiX 片段中获得编辑注册表 CLSID 的提升权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465652/

相关文章:

wix - 如何防止注册表删除作为已安装的 MSI 卸载的一部分?

wix - WiX 与 Visual C# 2010 Express 兼容吗?

c++ - 如果计算机在 sleep 模式下突然断电,系统注册表的状态?

installation - WiX 在 Windows 7 安装期间不会添加 HKLM 注册表设置

windows - 将 SMB 添加到 Windows,这有多安全?

mysql - 为什么powershell不更新数据库?

windows - 使用CMD在一些文件夹中创建一组文件夹

python - 任务栏和可点击应用程序图标之间的图标不匹配

installation - 如何从 WiX 脚本更改事件日志属性?

c++ - 适用于 C++ 的良好 Windows 注册表包装器