Regasm正确安装了shell扩展,但是热量生成的WXS没有,写入不同的注册表路径

时间:2013-05-22 05:55:11

标签: wix registry windows-installer

我写了一个shell扩展(在explorer的文件上下文菜单中的项目),并使用WiX的heat从DLL创建一个MSI。

问题:安装MSI不会显示上下文菜单项 相反,运行Regasm.exe my.dll /codebase会使项目显示。

heat将注册表项写入HKEY_CLASSES_ROOT\,而
Regasm将注册表项写入HKEY_LOCAL_MACHINE\SOFTWARE\Classes\

我可以修改heat生成的WXS以写入与Regasm相同的注册表路径,但MSDN suggests HKEY_CLASSES_ROOTapparently某些用户无法写入HKEY_LOCAL_MACHINE ...有更好的解决方案吗?

1 个答案:

答案 0 :(得分:2)

当您的MSI程序包是每台计算机时,

HKCRHKLM\SOFTWARE\Classes\的别名。确保预机器包的最简单方法是在InstallScope元素上设置Package

<Wix>
  <Product ...>
     <Package InstallScope='perMachine' />
相关问题