我正在使用wix 3.5来创建一个"perUser"安装范围的Windows安装程序。wxs文件在这里,生成的MSI文件在这里。
我从light.exe
链接器获得以下奇怪的警告。我不确定是否应该仅将其抑制或者是否有更好的方法来解决它。
ICE57
D:\hg\downmarker\setup\product.wxs(34) : 警告 LGHT1076 : ICE57: 组件 'component.downmarker.exe' 具有 HKCU 注册表 KeyPath 的 per-user 和 per-machine 数据。
对我来说,这个警告没有意义,因为即使没有管理员访问权限,安装程序也可以正常工作 - 这证明了安装程序不会像警告中所述写入任何"per-machine data"。
ICE91
D:\hg\downmarker\setup\product.wxs(37) : 警告 LGHT1076 : ICE91: 文件'downmarker.exe'将被安装到不基于ALLUSERS值变化的每个用户目录'DownMarkerFolder'。即使需要进行每台机器的安装,此文件也不会被复制到每个用户的配置文件中。
我也不理解这个警告,因为我明确将安装程序标记为"perUser"安装范围。
HKEY_CLASSES_ROOT
已经映射到HKEY_CURRENT_USER\SOFTWARE\Classes
,它并不总是针对机器。否则,我将无法在没有管理员权限的情况下运行我的安装程序。此外,如果我按照您的建议明确写入HKCU\Software\Classes
,那么我仍然会收到警告,可能是因为ProgId
元素隐式使用了HKCR
。 - Wim Coenen